使用UART从PC读取txt文件-Atmega32A

时间:2018-08-10 08:18:02

标签: c uart spi atmega atmelstudio

我是微处理器编程的初学者。我创建了一个数组,并使用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 个答案:

答案 0 :(得分:0)

您正在使用微控制器,因此无法直接处理文件。您必须在源代码中编写每个值(复制和粘贴)。

unsigned char const array[5]={0x44,0xAA,0x33,0xBB,0x55};

即使对于大型阵列,您也必须这样做。