你好,
我想尽快通过蓝牙编程连接UART。很有效,但现在我的问题。
根据连接两个PAN1740的手册,我禁用了HW流量控制和启用了SW流量控制。它们相互连接。
PAN1740直接与ATMEL控制器相连。
问题是:我在一个Atmel上编程接收中断和蓝牙模块(PAN1740)总是发送无意义的数据到Atmel和中断发生每一次。
胡言乱语的数据大约在十六进制11或13或两者。
我不知道它是从哪里来的。
只有当两个PAN1740连接时才会发生。
有什么想法吗?
另一个问题是把PAN1740进入睡眠模式与外部连接到Atmel。PAN1740的pin1.0直接连接到Atmel I/O。我怎么能编程,如果PAN在引脚1.0从atmel得到一个高,它将进入睡眠和低,它将醒来?
希望你能帮助我。
非常感谢
设备:
嗨,我解决了问题。是流量控制软件在我的微控制器上产生中断。
下一个问题是,如果我想在没有流控制的DSPS上发送数据,数据是每10毫秒发送
38400波特
数据应该是T1,在另一边我得到的附加随机值:
T163
u¦k©ˆø¬™(R¤u¨˜(RHøT163
T163
T163
T163
6 (y¨[R¤u¨™(R¤u¨;3
T163
T163
T163
Ym¨™(V¤u¨˜[R¤ø¨165
T165
T165
T163
我# # n¬™(n¬™[V¤u¨[¦C…T163
T163
T165
T167
Æ5)y¨™+©ˆø¨˜©ˆø¨˜70
T167
T165
T163
Rþ)EI5) y¨(«¤u¨(SHøT167
T165
T167
T167
Y5y¨[«¤u¨™(¥!一个¨˜65
T163
T163
有什么问题吗?如果我嗅一嗅我的微控制器的TXD线,一切都是他应该做的。但另一边不是....
任何建议吗?
嗨gert186,
我假设您正在使用DSPS参考设计,并且您正在通过Atmel处理器向580的UART发送数据,因为你已经禁用了hw流控制,你已经启用了SW流控制,0x11和0x13是XON和XOFF字节(控制流控制的实际字节),只在两个设备连接时发送。
也意识到需求方需要h / w流控制为了正常运转和睡眠模式,没有办法使用dsp与睡眠和没有流控制因为外部单片机发送数据,但不知道580是否睡觉。
在你的第一篇文章中阅读你的第二个问题,dsp会自动设置设备的睡眠模式,如果它有数据要发送,它将保持清醒,如果没有,它将进入睡眠模式,只有为了保持连接活着才会醒来。如果你想将设备设置为永久休眠,你将不得不手动断开与远程设备的连接,并设置唤醒定时器,以便从外部中断中唤醒并开始发布信息,您可以在UM-B-051-DA1458x软件平台参考文档中找到关于如何使用唤醒计时器的信息。
由于MT_dialog
非常感谢你的来信。
但是我想切换SW和HW的流量控制!这有问题吗?
嗨gert186,
是的,这是一个问题,因为DSPS,当在睡眠模式,只与hw流量控制(即使与sw流量控制设备将失去数据),这是因为580通知外部MCU/PC是清醒的切换它的RTS/CTS。如果外部设备发送数据,而580没有唤醒,就会出现数据丢失。
由于MT_dialog
我现在用软件控制编程。效果很好。
我有一个I/O连接到蓝牙模块在引脚1.0
如果引脚上有低电平,是否可能使蓝牙模块入睡,如果高电平则唤醒?
嗨gert186,
正如之前的文章中提到的,设备在每个连接间隔中都会醒来,以保持连接活跃,如果你让设备处于休眠状态,并等待一个唤醒中断,这意味着它将失去连接,如果它失去连接,这意味着下一次它将唤醒(从外部中断),它将不得不通过连接过程,以便重新连接到中央/外围设备。如果这是你想做的事情,那么你可以使用唤醒定时器模块,并设置它,以启动广告在外部中断,但我建议在进入睡眠之前终止连接。
由于MT_dialog
非常感谢,
但我真正想做的是把蓝牙模块放入睡眠模式(扩展),如果它收到像SL4000!
“SL”代表进入睡眠
4000秒表示时间
“啊!”终止信号。
我可以把这个功能放到
user_sps_server_data_rx_ind_handler()。检查收到了什么。
然后将BLE设置为延长睡眠模式,如:
app_easy_gap_advertise_stop ();
arch_ble_ext_wakeup_on ();
但我不知道如何配置唤醒定时器?
谁能帮帮我?
哥特问好
嗨gert186,
首先,您只能在连接时接收数据,因此不能发布,因此调用app_easy_gap_advertise_stop()函数是没有必要的,因此,如果您想让设备处于永久休眠状态,您必须在设备断开连接时调用app_easy_gap_disconnect()来断开与中心设备的连接,.app_on_disconnect回调将被触发。从那个回调你可以设置一个kenrel定时器来开始发布或者设置一个唤醒中断。如果你只是断开与设备的连接,因为设备没有任何预定的消息要唤醒,它会一直处于睡眠状态,你只需要配置设备将如何唤醒。为了检查如何配置设备唤醒,你可以看看ble_app_sleepmode,你也可以在UM-B-051软件平台参考文档中找到关于唤醒计时器的文档,章节10.7。
由于MT_dialog