Interface (GSM模块SM5100B和ATMEGA16A接口)使用C代码中的AT命令发送SMS时出现故障

Interface (GSM模块SM5100B和ATMEGA16A接口)使用C代码中的AT命令发送SMS时出现故障,interface,avr,gsm,at-command,atmega16,Interface,Avr,Gsm,At Command,Atmega16,我的大学嵌入式系统项目遇到了问题。目标是使用UART(我这样做了,使用数据表中的正确端口)在SM5100B GSM模块和ATMEGA16A微控制器之间建立接口,并能够通过Atmel中的C代码,通过从atmega到GSM的Tx和Rx端口发送AT命令发送/接收简单的SMS消息,反之亦然。(不使用超级终端) 当我使用TeraTerm测试GSM模块时,我能够正确连接,轻松发送AT命令,还能够在插入SIM卡的情况下发送和接收SMS,因此一切正常 现在我正试图用微控制器来实现这一点 以下是我目前掌握的代码:

我的大学嵌入式系统项目遇到了问题。目标是使用UART(我这样做了,使用数据表中的正确端口)在SM5100B GSM模块和ATMEGA16A微控制器之间建立接口,并能够通过Atmel中的C代码,通过从atmega到GSM的Tx和Rx端口发送AT命令发送/接收简单的SMS消息,反之亦然。(不使用超级终端)

当我使用TeraTerm测试GSM模块时,我能够正确连接,轻松发送AT命令,还能够在插入SIM卡的情况下发送和接收SMS,因此一切正常

现在我正试图用微控制器来实现这一点

以下是我目前掌握的代码:

#定义F#U CPU 7372800UL
#包括
#包括
#包括
#包括
#包括
#定义波特率9600
#定义MYUBRR((F_CPU/16/BAUD)-1)//BAUD预分频器(用于异步模式)
无效GSM_init(无符号整数ubrr){
/*设置波特率*/
UBRRH=(无符号字符)(ubrr>>8);
UBRRL=(无符号字符)ubrr;
/*启用接收器和发射器*/

UCSRB=(1“问题”是什么?你没有在任何地方说明什么不起作用…对不起,问题是我在这里发布的代码不起作用,它没有发送消息,我不明白为什么。我尝试过谷歌搜索很多次,但大多数答案都是针对arduino的,或者使用rs232连接+超级终端..我的老师不愿意帮助。所以我真的很抱歉寻找任何可能启动消息发送的东西,任何线索、建议、代码更正、源代码,任何可能真正有用的东西..命令应该以回车字符“\0xD”结尾。我只在您发布的代码中的某一点上看到它。例如,它不会出现在
at+CMGF=1
at+CMGS之间=