send multiple bits rf
1 bericht
• Pagina 1 van 1
send multiple bits rf
hey mensen
ik probeer met een atmega328p rf te zenden met deze tutorial : https://www.youtube.com/watch?v=3_omxGIL0kw&t=839s&pbjreload=10z
1 enkele bit werkt prima niks aan de hand maar als ik meerdere bits wil sturen doet hij niks meer.
mijn code :
ik probeer met een atmega328p rf te zenden met deze tutorial : https://www.youtube.com/watch?v=3_omxGIL0kw&t=839s&pbjreload=10z
1 enkele bit werkt prima niks aan de hand maar als ik meerdere bits wil sturen doet hij niks meer.
mijn code :
- Code: Alles selecteren
/*x
* GccApplication1.c
*u
* Created: 30-8-2018 01:13:46
* Author : Tom
*/
#include <avr/interrupt.h>
#include <avr/io.h>
#include <util/delay.h>
#define F_CPU 16000000
#define BUAD 9600
#define BRC ((F_CPU/16/BUAD)-1)
#define TX_BUFFER_SIZE 128
uint8_t serialReadPos = 0;
uint8_t serialWritePos = 0;
void appendSerial(char c);
void serialWrite(char c[]);
char serialBuffer[TX_BUFFER_SIZE];
int main(void)
{
UBRR0H = (BRC >> 8);
UBRR0L = BRC;
UCSR0B = 0b01001000;
UCSR0C = 0b00000110;
sei();
serialWrite('hoi');
while (1)
{
}
}
void appendSerial(char c)
{
serialBuffer[serialWritePos] = c;
serialWritePos++;
if (serialWritePos >= TX_BUFFER_SIZE)
{
serialWritePos = 0;
}
}
void serialWrite(char c[])
{
for (uint8_t i = 0; i< strlen(c); i++)
{
appendSerial(c[i]);
}
if(UCSR0A & (1 << UDRE0))
{
UDR0 = 0;
}
}
ISR(USART_TX_vect)
{
if(serialReadPos != serialReadPos)
{
UDR0 = serialBuffer[serialReadPos];
serialReadPos++;
if(serialReadPos >= TX_BUFFER_SIZE)
{
serialReadPos = 0;
}
}
}
Advertisement
1 bericht
• Pagina 1 van 1
Wie is er online?
Gebruikers in dit forum: Majestic-12 [Bot] en 31 gasten