Hardware engineer, experience in board level development of analog/digital electronics, MCU programming in C/Assembler. Documenting in LaTeX.

Hello Elliott, yes, the autodetect routine is not necessary in your case. But, something in your I2C-code is totally wrong. You should be able to turn the backlight...
Hello Elliott, without digging to deep into your code ... your timing seems to be wrong. Afaik some of the HD44780 controller clones takes longer, especially...

Re: Determining the index of a value in a struct

Reply posted 3 months ago (08/05/2021)
Hi Max, why do you stick to the union construct? My suggestion (untested): #define EEROMOFF 0 #define SETTINGSSIZE 3 enum SettingsOffset { DateFormat = 0, TimeFormat,...

Re: Why CRC with EPROM?

Reply posted 4 months ago (06/25/2021)
With CRC you can: test: yes repair: no! You need redundancy to repair data ...
Apart from the fact that the values associated with "constant variables" can't be changed under program control, is there any other value to them (e.g., in terms...

Re: Why CRC with EPROM?

Reply posted 4 months ago (06/25/2021)
To overcome data corruption (due to cell wearing/power failure/whatever) you can write always sequentially two identically data sets. If, when reading, one CRC is...
Max, memcpy does not work with the EEPROM, this should be clear. The EEPROM needs its proper write routines. But you still don't need a union. You can copy byte...
Hello Max! 1) You don't need a union. To determine the size the sizeof()-operator is there. This is also more flexible and less error-prone than a static #define! 2)...

Re: Another Noddy Question

Reply posted 5 months ago (06/09/2021)
By the way, I found this interesting article about #pragma pack:Anybody who writes #pragma pack(1) may as well just wear a sign on their forehead that says “I...

Re: MSP430G2553: Problems while running without debugger.

Reply posted 7 months ago (04/09/2021)
This here: averageFloat = 100 - (sumM / 10 - 400) * 0.25641; //Calculation average moisture from array sum. Converting 0-1024 range to 0-100. Calibrate average...

Re: UART communication with ACK/NACK error handling

Reply posted 7 months ago (03/25/2021)
Ok, don't mind, meanwhile I saw your profile. Although most MCU will not be destroyed immediately by a short an outputs it is strongly deprecated to do this. Use...

Re: UART communication with ACK/NACK error handling

Reply posted 7 months ago (03/24/2021)
If the TX pin is configured as (totem-pole) output, as it should be, it is not a good idea to directly shorten that pin to GND or Vdd!You can however put a, say...

Re: UART communication with ACK/NACK error handling

Reply posted 7 months ago (03/24/2021)
If both MCU are hardwired you don't need pullups. After booting you must anyway clear all receiver buffers.Pullups should be used if the RX line can be left open.But,...

Re: UART communication with ACK/NACK error handling

Reply posted 7 months ago (03/24/2021)
Wondering about the pullup/pulldown-story, in the first post ... UART lines are active driven, i.e. totem-pole. Contrary to open-drain I2C.This on the TX MCU side:    TRISDbits.TRISD6...

Re: UART communication with ACK/NACK error handling

Reply posted 7 months ago (03/24/2021)
First, check the clocks! They don't need to be exactly the same, but as said not more than 5% different. For example, if the TX is to slow, the RX will sample a...

Re: UART communication with ACK/NACK error handling

Reply posted 7 months ago (03/24/2021)
Again, this does not work if the RX is dead, missing etc. In this case you must use a timeout or your system hangs forever.

Re: UART communication with ACK/NACK error handling

Reply posted 7 months ago (03/24/2021)
Ok, I missunderstood the function. But waiting forever on an answer is no good idea. If the link is broken this is a deadlock. You should work with timeouts.And,...

Re: UART communication with ACK/NACK error handling

Reply posted 7 months ago (03/23/2021)
I did not read all and everything ... 1) Declare all vars modified in ISR as volatile, so the compiler is forced to re-read them. Otherwhise re-reading may be omitted...

Re: Five different ways of incrementing a variable in C?

Reply posted 7 months ago (03/17/2021)
Afaik there are tools to do that. Or, are at least easy to write: removing all comments and whitespaces, rename all variables to cryptic random names, replace all...

Re: Five different ways of incrementing a variable in C?

Reply posted 7 months ago (03/16/2021)
Oh, thanks!But this is a simple bit-wise addition with a ripple-carry loop, nothing magic. Using digraphs and trigraphs, special variable names and removing all...

Re: Five different ways of incrementing a variable in C?

Reply posted 7 months ago (03/16/2021)
The "++++" is only in the string, this is symbolic for two increments ... it is not a valid C syntax.

Re: Five different ways of incrementing a variable in C?

Reply posted 7 months ago (03/16/2021)
Question 1: My suggestions (tested) #include <stdio.h>#include <stdint.h>void main(void){  uint8_t fred = 40;  uint8_t i, o;  printf("Fred: %u\n",...

Re: Anybody experienced in Advantech PCM 9373

Reply posted 1 year ago (08/01/2020)
1) As my mother tongue is German, I don't care about UK/US nomenclature ... ;)2) The color/colour of the pushbutton is of no importance. Maybe because the reset...

Re: Anybody experienced in Advantech PCM 9373

Reply posted 1 year ago (08/01/2020)
Don't rely to much on "replace the complete unit", chinese documentation often has to be interpreted.I suppose you already have reset the BIOS config? S2 seems to...

Re: Anybody experienced in Advantech PCM 9373

Reply posted 1 year ago (08/01/2020)
Hi,while not having experience with this specific board ... 15 pin is the normal pin-out of VGA, so, did you connect a VGA monitor to the DE15 connector? You should...

Re: Interface to program STM8 ?

Reply posted 1 year ago (06/16/2020)
Nope, SDCC (Version > 3.4; actual 4.0.2) supports STM8.stm8flash burns them, using the cheap ST-Link V2.Links:SDCC: http://sdcc.sourceforge.net/stm8flash: https://github.com/vdudouyt/stm8flashCode...

Use this form to contact tcfkat

Before you can contact a member of the *Related Sites:

  • You must be logged in (register here)
  • You must confirm you email address