Считайте текстовый файл с ПК, используя 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};

Вы должны были сделать это даже для большого массива.

Другие вопросы по тегам