avr uart

Oct 24, 2006 0 Replies
ðÒÉ×ÅÔ, All !


ëÉÎØÔÅ, ÐÏÖÁÌÕÊÓÔÁ, ÍÁÌÅÎØËÉÊ, ÎÏ ÚÁËÏÎÞÅÎÎÙÊ ÐÒÉÍÅÒ ÒÁÂÏÔÙ Ó UART. ëÁÍÅÎØ ÍÅÇÁ32, Ë×ÁÒÃ16íçÃ, ÓËÏÒÏÓÔØ ÐÅÒÅÄÁÞÉ 38400. äÏÓÔÁÔÏÞÎÏ ÐÒÏÓÔÏ ÔÕÐÏ × ÂÅÓËÏÎÅÞÎÏÍ ÃÉËÌÅ ÐÅÒÅÄÁ×ÁÔØ × UART Ä×Á ÓÉÍ×ÏÌÁ. éÌÉ, ÐÏÄÓËÁÖÉÔÅ, ÞÔÏ ÉÍÅÎÎÏ Ñ ÚÁÂÙÌ ÐÒÏÉÎÉÃÉÁÌÉÚÉÒÏ×ÁÔØ É/ÉÌÉ ÐÒÏÉÎÉÃÉÁÌÉÚÉÒÏ×ÁÌ ÎÅÐÒÁ×ÉÌØÎÏ. (ÐÒÏÇÒÁÍÍÁ ÄÏÌÖÎÁ ÐÏÓÙÌÁÔØ ÂÁÊÔÙ ÐÏ õáòôÕ É ÍÉÇÁÔØ Ó×ÅÔÏÄÉÏÄÁÍÉ)



#define F_CPU 16000000UL // 16MHz #include <inttypes.h>



#include <avr/io.h>



#include <avr/interrupt.h>



#include <util/delay.h>



#include <avr/interrupt.h>


void init_uart() { UBRRH = 0X02; UCSRC = (1<<URSEL)|(1<<USBS)|(3<<UCSZ0); UBRRH = 0; UBRRL = 25; //38400bps at 16MHz UCSRB = (1<<RXEN)|(1<<TXEN); } void send_byte(uint8_t b) { while( !(UCSRA & (1<<UDRE))) ; UDR = b; }



int main() { init_uart(); sei(); DDRD=0xFF; PORTD = 0xFF; for(;;) { send_byte('A'); PORTA = 0xFF; send_byte('z'); PORTA = 0x00; }; return 0; }


. ó Õ×ÁÖÅÎÉÅÍ, HÉËÉÔÁ. icq:240059686, lj-user:nicka_startcev ... Ä×Á ÄÅÓÑÔËÁ ÂÒÏÎÉÒÏ×ÁÎÎÙÈ ÈÒÅÎÏ×, ÌÅÔÑÝÉÈ ÎÁ ÓÅÍÉ ÍÁÈÁÈ..


Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required