//麻烦各位大神帮我看看这个程序,烧写入芯片后,串口调试助手上没有任何现象……
- /*
- 串口通信引脚:
- RXD-->PE0
- TXD-->PE1
- 外部晶振:7.3728
- 波特率: 9600
- */
- #include <avr/io.h>
- #include <util/delay.h>
- #define F_CPU 7372800UL
- #define fosc 7372800
- #define baud 9600
- void uart1_init(void)
- {
- UCSR1B = 0x00;
- UCSR1A = 0x00;
- UCSR1C = (1 << UCSZ11) | (1 << UCSZ10);
-
- UBRR1L = (fosc/16/(baud + 1))%256;
- UBRR1H = (fosc/16/(baud + 1))/256;
-
- UCSR1B = (1 << RXEN1) | (1 << TXEN1);
- }
- void putchar1(unsigned char c)
- {
- while(!(UCSR1A & (1 <<UDRE1)));
- UDR1 = c;
- }
- unsigned char getchar1(void)
- {
- while(!(UCSR1A & (1 << RXC1)));
-
- return UDR1;
- }
- void puts1(char *s)
- {
- while (*s)
- {
- putchar1(*s);
-
- s ++;
- }
-
- putchar1(0x0a);
- putchar1(0x0d);
- }
- int main(void)
- {
- //unsigned char i;
- DDRE &=~ (1 << 0); //RXD
- DDRE |= (1 << 1); //TXD
-
- uart1_init();
-
- puts1("Hello!");
-
- while(1)
- {
- puts1("test ok!");
- _delay_ms(500);
- } return 0;
- }
//其中,ATmega128 烧写下载的软件我是这样设置的
//串口调试助手上没有任何现象
|