Считайте текстовый файл с ПК, используя UART - Atmega32A
Я новичок в микропроцессорном программировании. Я создал массив и отправил данные с помощью UART. Я хочу прочитать текстовый файл и создать этот массив, используя данные в текстовом файле, самым простым способом. Любое предложение продолжить? Заранее спасибо.
#include <avr/io.h>
#include <stdio.h>
#include <avr/interrupt.h>
#include <util/delay.h>
#define F_CPU 8000000UL // Clock freq
char flag = 0;
void usart_init(void){
UCSRA = 0x02;
UCSRB = 0x98; // Enable transmitter Enable receiver Enable Interrupt
UCSRC = (1<<UCSZ1) | (1<<UCSZ0); // set as 8 bit data, no parity bit and 1 stop bit.
UBRRH = 0x00;
UBRRL = 109;
}
int main(void){
usart_init();
while(1){
unsigned char array[5]={0x44,0xAA,0x33,0xBB,0x55};
for (int i=0;i<5;i++){
UDR = array[i];
UDR = 0xFF;
_delay_ms(100);
}
sei();
if(flag == 1)
{
flag = 0;
UCSRB = 0x98;
}
}
}
ISR(USART_RXC_vect){
UCSRB = (0<<RXEN)|(0<<TXEN)|(0<<RXCIE);
flag = 1;
}
1 ответ
Вы работаете с микроконтроллером, поэтому не можете обрабатывать файл напрямую. Вы должны были закодировать каждое значение (копировать и вставить) в вашем исходном коде.
unsigned char const array[5]={0x44,0xAA,0x33,0xBB,0x55};
Вы должны были сделать это даже для большого массива.