[AVR单片机] 还是串口……求帮忙

[复制链接]
1652|4
 楼主| anthonyxoxo 发表于 2013-7-4 15:50 | 显示全部楼层 |阅读模式
本帖最后由 anthonyxoxo 于 2013-7-4 15:51 编辑

在线等。

先贴代码:
  1. #define F_CPU 7372800

  2. //#include <avr/io.h>
  3. #include <util/delay.h>
  4. #include <avr/interrupt.h>

  5. #define BAUD 9600

  6. unsigned char transmit;

  7. void Port_init(void);
  8. void Usart_init(void);
  9. void Usart_Putchar(unsigned char);

  10. int main(void)
  11. {
  12.         Port_init();
  13.         Usart_init();
  14.         transmit = 0x55;
  15.         
  16.         Usart_Putchar(transmit);

  17.         sei();

  18.         while(1)
  19.         {
  20.         
  21.         }
  22. }

  23. void Port_init(void)
  24. {
  25.         PORTE = 0x00;
  26.         DDRE = 0xfe;
  27. }

  28. void Usart_init(void)
  29. {
  30.         UCSR0A = 0x00;
  31.         UCSR0C |= (1<<UMSEL0) | (1<<UCSZ01) | (1<<UCSZ00);
  32.         UBRR0L = (F_CPU / BAUD / 16 - 1) % 256;
  33.         UBRR0H = (F_CPU / BAUD / 16 - 1) / 256;
  34.         UCSR0B |= (1<<TXEN);
  35. }

  36. void Usart_Putchar(unsigned char cTXData)
  37. {
  38.         while(!(UCSR0A & (1<<UDRE)));
  39.         UDR0 = cTXData;
  40. }
为啥收回来的都是0xff?
明天老师要检查,求助各位大神~
dqyubsh 发表于 2013-7-4 21:27 | 显示全部楼层
        sei();

        while(1)
        {
              Usart_Putchar(transmit);
      
        }
qin552011373 发表于 2013-7-4 21:58 | 显示全部楼层
都是牛人 注释都没有一句   你没有用到中断   干嘛还开了中断
 楼主| anthonyxoxo 发表于 2013-7-5 09:52 | 显示全部楼层
qin552011373 发表于 2013-7-4 21:58
都是牛人 注释都没有一句   你没有用到中断   干嘛还开了中断

这不是写一半呢么……以后多加注释,谢谢提醒。
huangxz 发表于 2013-7-5 10:49 | 显示全部楼层
貌似只有打开发送,接收没打开啊;P

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

25

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部