http_icmp 2021-02-03 16:57
浏览 37

AVR单片机ATmega88串口USART的使用

#define fosc 8000000
#define baud 9600
void usart_init(void)
{   
  UCSR0B = 0x00; //发送接收都不使能 开始时候不设置
  UCSR0A = 0x00; //不使用倍速发送 UX2为1时设置加倍
  UCSR0C = 0x06;  // 异步 禁止校验位 1位停止位 8位数据帧 TX上升沿 RX下降沿
  
  UBRR0H =  (fosc/16/baud - 1) / 256; 
  UBRR0L = (fosc/16/baud - 1) % 256; 
  
  UCSR0B = 0x98;   //接收结束中断使能 接收使能 发送使能
//  UCSR0B = 0x18;   //接收使能 发送使能
}
void putchar(unsigned char c)
{
  while(!(UCSR0A&(1 << UDRE0)));
  UDR0 = c;
}
void main()
{
    unsigned char temp = 9;
    while(1) 
    {
    putchar(temp);
    }
}

软件用的是ICC AVR

芯片是ATmega88

将代码烧进去之后连接串口工具。运行后下面的80是点击十六进制显示的结果,上面是未点击。

问题:为什么不是显示的9?

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 求帮我调试一下freefem代码
    • ¥15 R语言Rstudio突然无法启动
    • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
    • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
    • ¥15 用windows做服务的同志有吗
    • ¥60 求一个简单的网页(标签-安全|关键词-上传)
    • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
    • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
    • ¥100 为什么这个恒流源电路不能恒流?
    • ¥15 有偿求跨组件数据流路径图