我的 GSM 调制解调器默认设置为 115200 波特率。我有 PIC18 微 Controller 以 19200 波特率连接到它。我将调制解调器的波特率更改为 19200,然后保存设置,但每次重置调制解调器时,波特率都会变回 115200。
这些是我使用的以下命令。
更改波特率 AT+IPR=19200
然后我以 19200 波特率重新打开 super 终端 (Putty) 以保存当前设置。
保存设置AT&W
但是在调制解调器重置后,波特率会变回 115200。我正在使用 M6000 GSM/GPS 模块(Tk115 Gps Tracker)但没有太多支持,这里是 datasheet以供引用。
我是否正确保存设置?
我正在考虑将我的 PIC18F87j11 上的波特率更改为 115200,但对于当前的 8 mhz 振荡器来说这是不可能的。任何反馈都会有所帮助。
谢谢!
最佳答案
一种可能的解决方法(但可能不是最佳选择)是将波特率保存到内部闪存中,然后有一个单独的线程连续设置端口的波特率。
或
类似的线程;
while (true)
{
MySerialPort.BaudRate = 19200; //this will set/update baud rate
Thread.Sleep(30000); //this will sleep for 30 seconds
}
将每 30 秒保存一次波特率;
第一个例子
或者使用我的第一个示例(将波特率保存到闪存)
是在您的程序启动时,您读取内部闪存存储,并从存储在那里的值中分配波特率。
至于在 super 终端/等中设置波特率 - 这些只是“临时”波特率 - 有点像调谐 radio - 你可以从不同的波特率听到不同的东西 - 这就是 super 终端的工作方式 - 它不会“保存”波特率,仅将其分配临时时间(直到您关闭并打开 radio )。
至于 BootLoader,应该有一种“退出”引导加载程序模式的方法 - 查看微 Controller 的文档,因为它应该只在您更新 MC 或“闪烁”更新时开启 - 而不是不断开启(引导加载程序就像按下 PC 上的“重置”按钮)!
关于serial-port - 无法保存波特率设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25410438/