AVR GSM whit ATmega32微控制器与C#应用程序串行通信

时间:2013-09-11 19:31:33

标签: c avr serial-communication

有人可以为我的AVR GSM板提供简单的串行通信代码。 我刚刚开始编程微控制器,我不确定我的代码是否正确,因为它构建正常,但是当我在板上烧掉它不起作用。 我有一个可以连接到通信端口的C#应用​​程序,我想测试它的串行通信。董事会模型是https://www.olimex.com/Products/AVR/Development/AVR-GSM/ 这是我的MCU代码:

#include <avr/io.h>
#include <stdio.h>
#include <stdbool.h>


#define BAUD 115200
#define MYUBRR F_CPU/16/BAUD-1

void usart_init(uint16_t ubrr);
char usart_getchar( void ); 
void usart_putchar( char data ); 
void usart_pstr(char *s);
unsigned char kbhit(void);

int main( void )
{
     // configure PORTA as output
       DDRA = 0xFF;
    // setup PORTB data direction as an input
    DDRB = 0;
    // make sure it is high impedance and will not source
    PORTB = 0;

    // fire up the usart
    usart_init ( MYUBRR );

    // dump some strings to the screen at power on
    usart_pstr("Welcome!\n\r");
    usart_pstr("Type in a character, and I will transpose it up by 1:\n\r");

    // main loop
    while(true) {
        // if a key has been pressed, then process it
        if(kbhit()) {
            usart_putchar(usart_getchar() + 1);
        }

        // map the PINB inputs to the PORTA outputs
        PORTA = PINB;

        // a little humor is always good, PB0 gets the user yelled at
        if(bit_is_clear(PINB,PB0)) {
            usart_pstr("OUCH! Stop poking me!\n\r");
        }
    }
    return 0;
}

0 个答案:

没有答案