这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » mega16芯片printf函数问题

共1条 1/1 1 跳转至

mega16芯片printf函数问题

高工
2024-01-05 19:10:19     打赏

求求求!!!
我使用mega16芯片通过重写putchar函数来实现printf函数,proteus仿真与虚拟串口仿真都可以读到数据,但与单片机链接无法读取数据,已排除硬件电路问题,因为我用之前单个字符发送的程序,可以正常读取。

/ 串口发送部分void USART_Init(void){
UCSRB=0x00;       //禁止发送器和接收器,禁止串口中断
UCSRA=0b00100000; //各标志位清零,双机通信模式,无加速波特率
UBRRH = 0x00;                                                      
UBRRL = 0x4D;                      // 设置波特率(12MHz 9600)
UCSRB = 0x98;                      // 使能串口发送
UCSRC = 0b10000110;       //异步模式,无奇偶校验,1位停止位,8位数据位
//fdevopen(putchar, NULL);
}void USART_Send(char dat)
{while (!(UCSRA & (1 << UDRE)));// 等待发送缓冲器为空
delay(1);UDR = dat; // 将数据写入发送缓冲区}
// 重写putchar以实现printf
int putchar(char c)
{
USART_Send(c);
return c;
}





关键词: mega16     printf     函数    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]