我用 C 语言编写了一个 UART TX 代码。数据使用 while (1) 循环进行传输。由于 Controller 一直忙于传输数据,我无法将任何新的十六进制文件转储到芯片上。它总是告诉通信失败。
#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);
}
}
最佳答案
您的意思是要将程序下载到MCU芯片中吗?
ARM 有很多方法可以做到这一点,例如:isp、jtag、uart...
您可以从芯片的DATASHEET中查看详细信息。
关于c - 8051 无法转储十六进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25947102/