上位机配置(蓝牙)

配蓝牙视频
https://www.bilibili.com/video/BV1zW411y7vq/?spm_id_from=333.788.recommend_more_video.-1(我比较偏爱这个英文版,看完了再看下面的)
https://www.bilibili.com/video/BV1ii4y1s79z

设置从机(电脑端:接受)
COM-CH->端口号
设置主机(小车:发送)
XCOM->端口号

(usb转ttl接口和接收蓝牙引脚:tx接rx, rx接tx)
(注意插在小车上的蓝牙和小车的插针/引脚是否也是tx接rx, rx接tx)
UART4_RX_C11
UART4_TX_C10

以XCOM软件分别配置主从蓝牙为例

第一步:进入AT模式

按住蓝牙上黑色按钮将usb转ttl插在电脑上放下,显示结果:蓝牙每隔一秒亮一次
调好软件波特率和COM串口,打开串口
(蓝牙调试软件使用此默认波特率:38400)
(串口查看:此电脑->右键菜单:管理->设备管理器->端口(COM和LPT)->USB-SERIAL CH340(COM x))
发送框中输入AT:黑窗口有ok即成功,可以进行蓝牙配置
!!!使用XCOM软件只能该行输入不能有回车,可以输完使用ctrl+enter!

第二步:配置蓝牙

有两个usb转ttl时,能同时插在电脑上配置的情况:
恢复出厂设置AT+ORGL->获得配对码->主从模式->绑定从机地址(恢复出厂设置->使用和从机一致的配对码AT+PSWD->从机模式->查询地址->波特率)->设置波特率->确定波特率->连接地址
只有一个usb转ttl时,先配置从机(电脑)再配置主机(小车)
->这里分开配置

第三步:配置从机

恢复默认设置:AT+ORGL
配置配对码:AT+PSWD=“0000”(主从机要一致)
配置为从机模式:AT+ROLE=0
查询从机的地址:AT+ADDR?
(栗子:+ADDR:98d3:34:912ba8,主机绑定时要冒号变逗号)
设置波特率:AT+UART=115200,0,0

第四步:配置主机

恢复默认设置:AT+ORGL
配置配对码:AT+PSWD=“0000”(主从机要一致)
配置为从机模式:AT+ROLE=1
主机绑定从机地址:AT+BIND=98d3,34,912ba8
(注意把地址的冒号换成逗号)
设置波特率:AT+UART=115200,0,0

第五步:确定是否配置成功

重新插上,不按按钮,呈灯不断闪烁;然后等两蓝牙连接
连接成功是每秒闪一次,一次闪两下,两灯同时两同时灭
如果连接失败,重新配置一次。

PS:查询主从机 AT+ROLE?
https://blog.csdn.net/DaMercy/article/details/102514684
https://blog.csdn.net/weixin_42417585/article/details/105232263
发送在黑窗口不显示:1.波特率配置错了   2.命令写错了,检查    3.是否多按了一个回车键

第六步:连接Visual Scope

菜单栏找到Setup
选择Communication Setup在界面里只更改波特率115200(根据蓝牙设置的波特率)和串口COM x(蓝牙的串口)
选择Communication Protocal勾选CRC16
配置完成

第七步:代码

初始化:uart_init(UART_4,115200,UART4_TX_C10,UART4_RX_C11);(在zf_uart.c中)
UART_x根据硬件选择引脚(我们硬件选的C10和C11在zf_uart.h中找到就是UART_4)
在while或中断中调用data_conversion(int16 data1, int16 data2, int16 data3, int16 data4, uint8 *dat)函数(在SEEKFREE_VIRSCO.c中)
前四个是Visual Scope显示的自己选择放置,后面*dat改为virtual_scope_data(在SEEKFREE_VIRSCO.h中)
将data_conversion函数中**//uart_putbuff(UART_1,dat,10);** 取消注释(打开)并将UART_1更改为使用的UART_x

第八步:确定代码是否正确

下载程序,打开小车电源和电机电源(因为我观察的是电机PID)
点击Visual Scope中RUN按钮(右下角)
点击Visual Scope中RESUME按钮(左上角绿色三角)
若能看见线不断地变化(我给的变化量)则成功
不使用点击Visual Scope中STOP按钮
保存菜单栏File->Save

附录

111

22