STC12C5A32S2 串口怎么配?
#define FOSC 12000000L#define BAUD (256-FOSC/32/115200)
void usart_init(void) {
AUXR = 0x40; //1T模式
TMOD = 0x20; //定时器1 工作方式2
SCON = 0x50; //串口工作方式1,允许串口接收
TH1 = BAUD; //定时器初值高8位设置
TL1 = BAUD; //定时器初值低8位设置
TR1 = 1; //定时器启动
}
void usart_send(const char *buf, int n) {
while (n--) {
SBUF = *(buf++);
while (!TI)
;
TI = 0;
}
}
===================================================
可是串口一直没有输出,请问大家是配的不对么? 不知道啥原因,在串口初始化后delay150毫秒,串口才能工作:
usart_init();
delay_ms(150);
printf("os start\n"); 主函数在哪?不完整的程序分析啥啊 回复【2楼】gongnn魔法师
-----------------------------------------------------------------------
对啦,源代码在这,https://github.com/yumm007/C51 我用的是独立波特率寄存器木有用定时器,不用延时可以,但是就是开始的数据不对
页:
[1]