Hardware engineer, experience in board level development of analog/digital electronics, MCU programming in C/Assembler. Documenting in LaTeX. Actually working as Teacher for Electronics.

Re Sriram,I would use optos only if I need the isolation barrier. Also, standard optos can be real slow, unless you use fast optos. (The thread starter says nothing...
Hello Sriram,these are not optos but Logic-Level MOSFETs which provide bidirectional level shifting as needed for I2C, based on Application Note AN97055 from Philips....
I would use resistors ... ;)

Re: Reading code from AT89C51ED2

Reply posted 3 months ago (02/15/2022)
Sorry, I was to fast and I was wrong. The above said is true for the AT89S52/AT89C52 only.This MCU can be in-circuit programmed using 5V only, if you respect the...

Re: Reading code from AT89C51ED2

Reply posted 3 months ago (02/14/2022)
Hello marco,the answer is simple: AT89C51 needs 12V Vpp (that your circuit does not provide) while AT89S51 can be programmed in-circuit with 5V only. Reading the...
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 10 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 11 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 11 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 11 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...
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 1 year 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 1 year 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 1 year 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 1 year 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 1 year 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 1 year 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 1 year 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 1 year 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...
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...
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...
The "++++" is only in the string, this is symbolic for two increments ... it is not a valid C syntax.
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 2 years 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 2 years 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 2 years 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 2 years 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