سلام
دوستان من می خوام با میکرو ATMEGA8 یک رشته را از طریق HC05 بفرستم روی گوشی (BT simple terminal) تا نمایش بده .
مشکل اینه که از طریق ترمینال کامپیوتر به راحتی میتونم ارسال و دریافت اطلاعات با HC05 و برنامه گوشی داشته باشم ؛ اما اگه به جای ترمینال ، ماژول را به میکرو وصل کنم هیچی ارسال نمیشه
ممنون میشم راهنمایی کنید
فرکانس میکرو 8MH داخلی
CKSEL3..0 = 0100
CKOPT=1
بادریت ماژول :AT+ UART=9600,0,0
دوستان من می خوام با میکرو ATMEGA8 یک رشته را از طریق HC05 بفرستم روی گوشی (BT simple terminal) تا نمایش بده .
مشکل اینه که از طریق ترمینال کامپیوتر به راحتی میتونم ارسال و دریافت اطلاعات با HC05 و برنامه گوشی داشته باشم ؛ اما اگه به جای ترمینال ، ماژول را به میکرو وصل کنم هیچی ارسال نمیشه
ممنون میشم راهنمایی کنید
فرکانس میکرو 8MH داخلی
CKSEL3..0 = 0100
CKOPT=1
بادریت ماژول :AT+ UART=9600,0,0
کد:
#include <mega8.h>
#include <stdio.h>
#include <delay.h>
void main(void)
{
// USART initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART Receiver: On
// USART Transmitter: On
// USART Mode: Asynchronous
// USART Baud Rate: 9600
UCSRA=(0<<RXC) | (0<<TXC) | (0<<UDRE) | (0<<FE) | (0<<DOR) | (0<<UPE) | (0<<U2X) | (0<<MPCM);
UCSRB=(0<<RXCIE) | (0<<TXCIE) | (0<<UDRIE) | (1<<RXEN) | (1<<TXEN) | (0<<UCSZ2) | (0<<RXB8) | (0<<TXB8);
UCSRC=(1<<URSEL) | (0<<UMSEL) | (0<<UPM1) | (0<<UPM0) | (0<<USBS) | (1<<UCSZ1) | (1<<UCSZ0) | (0<<UCPOL);
UBRRH=0x00;
UBRRL=0x33;
while (1)
{
printf("SALAM");
delay_ms(5000);
}
}








دیدگاه