头像-47479

SANNA

  • 湖北省武汉市
  • 单片机 嵌入式 DSP FPGA/CPLD
  • 工控电子

个人成就

获得 0 次赞

帮助过0人

AVR ATMEG16A串口发送时为何不能连续调用发送函数

我现用的是AVR ATMEG16A单片机,在用USART串口通信时遇到了百思不得其解的问题,就是在调用串口发送函数发送完一串字符后,若紧接着再调用这个函数就会丢失后面的一次发送过程(就是在串口助手中没有收到("    !注意:字1111111!!!!!.  "),若在这两次的中间加入200ms 的延时,就不会丢失,在串口助手中只能收到第一次和第三次的信息,代码如下: USART_txout("本产品支持中英文显示,最大显示32个汉字或64个字母/符号,自动换行。",66);     USART_txout("    !注意:字1111111!!!!!.  ",30);     clear_screen();    display_graphic_32x32(1,64,hao);    display_GB2312string(3,105,"!");    MS_delay(200);    USART_txout("    !注意:字母或标点符号只支持英文输入法,否则不会显示.  ",66); 发送函数如下: void USART_txout(uchar *data,uchar length) {       unsigned char i=0;    for(i=0;i