我在C中写了一个UART TX代码。数据使用while(1)循环进行传输。由于控制器一直忙于仅传输数据,我无法将任何新的十六进制文件转储到芯片上。它总是告诉通信失败。
#include <reg51.h>
void inituart(void);
void Tx_Data(unsigned char);
void SCI_String_Tx(unsigned char *string);
void delay_ms(unsigned char milliseconds);
void delay_ms(unsigned char ms)
{
unsigned char t1;
unsigned int t2;
for(t1=0; t1<ms; t1++){
for(t2=0; t2<711; t2++);
}
}
void inituart()
{
TMOD=0X21;
SCON=0X50;
TH1=0XFD;
TR1=1;
}
void SCI_String_Tx(unsigned char *string)
{
while(*string)
{
Tx_Data(*(string++));
}
}
void Tx_Data(unsigned char v)
{
SBUF=v;
while(TI==0);
TI=0;
}
void main(void)
{
inituart();
while (1)
{
delay_ms(1000);
SCI_String_Tx("HELLO WORLD!"); //Data to terminal
delay_ms(1000);
delay_ms(10);
}
}
答案 0 :(得分:-1)
你的意思是你想把程序下载到MCU芯片吗?
有许多方法可以做到这一点,例如:isp,jtag,uart ......
您可以从芯片的数据表中查看详细信息。