完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
小弟用ATmega16L控制GPRS模块发送短信,GPRS的波特率为9600,程序已经编译通过,但电路板上测试时,就是发不出消息。急求各位大虾帮忙,小弟感激不尽!
#include "iom16v.h" #include "macros.h" #include "SHUIPING.H" #define BAUD 9600 #define FXTAL 12000000 #pragma interrupt_handler USART_Received_Ir:12 unsigned char a,b; unsigned char TX_Buffer; unsigned char RX_Buffer; unsigned char TX_Flag; unsigned char RX_Flag; //串口IO初始化函数 void USART_IO_Init() { DDRD|=BIT(PD1); //PD1:TX为输出状态 } //串口初始化函数 void USART_Init() { unsigned int Temp; USART_IO_Init(); UCSRA=0x00; UCSRB=0x00; UCSRC|=BIT(URSEL)|BIT(UCSZ1)|BIT(UCSZ0); Temp=(FXTAL/BAUD/16)-1; UBRRH=((Temp>>8)&0x00ff); UBRRL=(Temp&0x00ff); UCSRB|=BIT(TXEN)|BIT(RXEN)|BIT(RXCIE); SREG|=BIT(7); } USART_Send(unsigned char *data) { unsigned char cnt=0; while(*(data+cnt)) { while(!(UCSRA&(BIT(UDRE)))); UDR=*(data+cnt); while(!(UCSRA&(BIT(TXC)))); UCSRA|=BIT(TXC); cnt++; } } USART_Received_Ir() { UCSRB&=~BIT(RXCIE); RX_Buffer=UDR; RX_Flag=1; UCSRB|=BIT(RXCIE); } //主函数 void main() { DDRA=0XFF; DDRC=0XFF; PORTA=0XFF; PORTC=0XFF; USART_Init(); while(1) { loop://a=PINA; b=PINC; TX_Flag=(b!=0XFF); if(TX_Flag) { //Delayms(600000); //RX_Flag=1; if(TX_Flag) { USART_Send("ATrn"); Delayus(2000); USART_Send("AT+CMGF=1rn"); Delayus(2000); USART_Send("AT+CSCS="UCS2"rn"); Delayus(2000); USART_Send("AT+CSMP=17,167,0,24rn"); Delayus(2000); USART_Send("AT+CMGS="手机号"rn"); //编译时已经通过UNICODE转码 Delayus(2000); USART_Send("发送的内容rn"); //编译时已经通过UNICODE转码 Delayus(2000); USART_Send("0x1A"); } Delayms(500); } else { goto loop; } Delayhour(2); if(TX_Flag) { //RX_Flag=1; USART_Send("ATrn"); Delayus(2000); USART_Send("AT+CMGF=1rn"); Delayus(2000); USART_Send("AT+CSCS="UCS2"rn"); Delayus(2000); USART_Send("AT+CSMP=17,167,0,24rn"); Delayus(2000); USART_Send("AT+CMGS="手机号"rn"); //编译时已经通过UNICODE转码 Delayus(2000); USART_Send("发送内容rn"); //编译时已经通过UNICODE转码 Delayus(2000); USART_Send("0x1A"); Delayus(2000); } b=PINC; TX_Flag=(b!=0XFF); if(TX_Flag) { Delayhour(24); goto loop; } else { goto loop; } } } |
|
相关推荐
1个回答
|
|
小弟已经折腾好几天了,麻烦各位高手给个解吧。大虾们,快给支个招吧?!!!小弟在线等!
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
736 浏览 0 评论
935 浏览 0 评论
为什么用FatFS在SD卡创建文件,在单片机上读写正常,用读卡器插到电脑上就什么都没有
2276 浏览 0 评论
1901 浏览 2 评论
《DNK210使用指南 -CanMV版 V1.0》第九章 打印输出实验
701 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11409 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-10-7 05:45 , Processed in 0.529055 second(s), Total 70, Slave 54 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号