Eric (@tcfkat)
Hello Matthew,to quote: "Next steps would depend on the answers to those two questions. The
RS-232 adapter needs to drive RS-232 signal levels, at least +/- 5V....
Hello Matthew,very good advices!Sadly, these newbies in the forum rarely leave any feedback ...Best regards,Eric
Hello!First, check your lowest level of communication, the hardware and its wiring. Is your converter board powered and sends correct RS232 levels to the pump? Did...
Fine! So, a typical RTFM-problem ... ;)Get familiar with I²C-protocol, you will encounter this more often.
From UM10204:"Updated the terms 'master/slave' to 'controller/target' throughout to align with MIPI I3C specification and NXP's Inclusive Language Project"Sorry,...
Once again, are you sure that you are following the writing routine meticulously?Edit, imho you must:- Master sends start condition- Master sends I²C device address...
Hello!1) Which registers are concerned? Registers 0x00...0x2B are read-only, writing to them makes no sense.2) Did you follow exactly the read/write procedures as...
No, I do not want to insult you.Yes, this has rather nothing to do with embedded.Brainfuck is a so called esoteric programming language, created by the Swiss Urban...
1) Can you show the whole code? How many times your function is called?2) How big is your buffer? With:f_write(&file, buffer, sizeof(buffer), NULL);you write...
void actbutt0(void); // prototypes of functionsvoid actbutt1(void); // if button is pressedvoid actbutt2(void);void actbutt3(void); // ... and so on ... till actbutt15//...
Somewhere in the data sheet is stated that for BT max. +-10ppm deviation is allowed.Why no external load capacitors on the crystal? Any reason?As I assume that you...
Maybe also interesting, if you move tstVal outside of the function RunTests() into global name space:struct TestTime_t TestTimes[NUM_TESTS];int tstVal;then the...
Hello Max!
Definitely the compiler optimizes out the whole loop!
First please turn on all messages in f****ing Arduino: File --> Preferences --> Show verbose...
Hello Allan!
As I have for a future project some MSP430 around here (more exactly MSP430F2013IN) I decided to install the IDE and compile your sample -- it compiles...
scnr ...
/**
* (C) tcfkat 2022 for embeddedrelated.com
* NO PERMISSION TO USE EXCEPT FOR EDUCATIONAL USE
*/
#include <stdint.h>
#include <math.h>...
Hello!
1) After all, who is applying, you, or the forum? This is your first post, what have you contributed to the forum?
2) There are number of beginner bugs...
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....
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...
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...
Hi Max,
why do you stick to the union construct?
My suggestion (untested):
#define EEROMOFF 0
#define SETTINGSSIZE 3
enum SettingsOffset { DateFormat = 0, TimeFormat,...
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...
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)...
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...
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...
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...
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,...
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...
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...
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.
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,...
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",...
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...
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...
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...
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