demo目录下wm_uart_demo.c
src/app/bleapp目录下wm_ble_server_api_demo.c
demo目录下wm_uart_demo.c
src/app/bleapp目录下wm_ble_server_api_demo.c
注释要表达的意思是,PB6~PB11在W800和W801上都有封装出来,所以都可以用作sdio功能,而PA9~PA14只有W801上封装出来了,在W800上没有,所以PA9~PA14对应的case1:情况只有在使用W801时才能生效。使用W801时具体用PA9~PA14还是PB6~PB11,可根据需求自行决定。
for(;;)
{
tls_bitband_write(HR_GPIO_DATA, 11, 0);
tls_bitband_write(HR_GPIO_DATA, 11, 1);
}
可以这样改下,把这些宏都去掉,我这试了可以了
测试可以进中断,因为设置的打印延时时间是1s,远远大于定时器定时时间5ms,所以打印出来的值只能看到4和5很正常。
收发的最大长度是双方协商的mtu值,可以在ble_gap_evt_cb连接成功BLE_GAP_EVENT_CONNECT调用tls_bt_async_proc_func(BleServerConnExchangeMtu, NULL, 600);主动发起mtu协商,然后看下协商的结果是多少。
片选软控制,并不是用任何一个IO来拉高拉低,需要用__HAL_AFIO_REMAP_SPI_CS配置有片选功能的pin脚为cs后,调用__HAL_SPI_SET_CS_LOW、__HAL_SPI_SET_CS_HIGH来使用。
底层代码改了之后需要执行make lib编译才会生效,然后再make
AT+BTEN=1,0,第一个参数1,代表的就是串口1,如果是用串口1发送的at指令,那发送后,串口1就被设置成蓝牙log输出口了,所以再发其他at指令就没办法识别了,可以试下AT+BTEN=255,0,或者其他串口号,只要不是1就行。
可以看下wm_ble_server_api_demo.c里wm_ble_server_demo_conn_param_update_slave这个接口,可以设置连接时间参数,另外如果只用到蓝牙而没用到wifi功能的情况下,还可以调用tls_bt_ctrl_sleep来使能蓝牙的sleep模式
wm_psram_config(1);psram_init(PSRAM_QPI);初始化只需要调用这两个接口就行了,wm_psram_config根据实际使用的io选择哪一组,使用的时候,起始地址是0x30000000,由于没有做到内存管理里,所以无法向普通内存一样动态申请释放,需要单独指定地址,自己管理,其他的操作就和普通内存一样了,比如memcpy,memset之类的。
如果使用的是W806可以参考这个,如果使用的是W800或者W801的SDK,也可以参考这个修改,如果不是用的CDK编译就不是修改aft_build_project.sh文件,得修改tools/w800/rules.mk文件。
因为你这个while(1){}足以干死所有的任务了
问 你好,请问串口有实例吗?