Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
at_client
serial_V2
20
serial v2 发送时出现崩溃,怎样办?
发布于 2024-08-25 17:26:03 浏览:312
订阅该版
* 硬件 * stm32l431RCT6 * uart2 外接蓝牙模块 * uart3 msh * 使用 serial v2, 开启 RX DMA * 表现: 在发送数据到蓝牙模块时,有一定机会出现崩溃(一般在开机200多秒后): ``` [294028] D/bt: 进入透传模式. thread pri status sp stack size max used left tick error tcb addr -------- --- ------- ---------- ---------- ------ ---------- ------- ---------- bt_cmd 14 suspend 0x000000f4 0x00000400 52% 0x00000001 EINTRPT 0x20002200 bt 12 running 0x000000fc 0x00000400 49% 0x00000003 OK 0x20002168 at_clnt 9 suspend 0x0000010c 0x00000600 35% 0x00000005 EINTRPT 0x20005f90 tshell 20 suspend 0x000000cc 0x00001000 06% 0x00000009 EINTRPT 0x20004d00 power 1 suspend 0x000000e4 0x00001000 11% 0x00000001 EINTRPT 0x20003890 p2000 6 suspend 0x0000013c 0x00000400 65% 0x00000005 EINTRPT 0x200027a0 tidle0 31 ready 0x0000008c 0x00000180 71% 0x00000007 OK 0x20003b9c [294032] E/cmb: [294032] E/cmb: 固件名称:rt-thread,硬件版本号:1.0,软件版本号:1.0 [294032] E/cmb: 在中断或裸机环境下发生错误异常 [294032] E/cmb: stack_pointer: 0x20000db4, stack_start_addr: 0x20000984, stack_end_addr: 0x20000d84 [294032] E/cmb: 错误:主栈(20000db4)发生溢出 [294032] E/cmb: =========== 线程堆栈信息 =========== [294032] E/cmb: ==================================== [294032] E/cmb: ========================= 寄存器信息 ========================= [294032] E/cmb: R0 : 20001bc4 R1 : 20001be8 R2 : 20001c08 R3 : 080002e9 [294032] E/cmb: R12: fffffffd LR : 20000d84 PC : 10000000 PSR: f0000000 [294032] E/cmb: ============================================================== [294032] E/cmb: 发生总线错误,原因:精确的数据总线错误 [294032] E/cmb: 发生总线错误的地址:0004844f [294032] E/cmb: 查看更多函数调用栈信息,请运行:addr2line -e rt-thread.elf -afpiC 0800fd84 0800fd84 08010008 08001ad2 08013148 080023ec 080024cc 0801811c 08013148 0800258a 0800c6a4 080002e8 08017da2 08003c02 [294032] E/cmb: Current system tick: 294032 =================== (.venv) D:\Develop\p2000-bt> addr2line -e rt-thread.elf -afpiC 0800fd84 0800fd84 08010008 08001ad2 08013148 080023ec 080024cc 0801811c 08013148 0800258a 0800c6a4 080002e8 08017da2 08003c02 0x0800fd84: _serial_poll_tx at D:\Develop\p2000-bt/rt-thread\components\drivers\serial/serial_v2.c:382 0x0800fd84: _serial_poll_tx at D:\Develop\p2000-bt/rt-thread\components\drivers\serial/serial_v2.c:382 0x08010008: _serial_fifo_tx_blocking_buf at D:\Develop\p2000-bt/rt-thread\components\drivers\serial/serial_v2.c:531 0x08001ad2: print_call_stack at D:\Develop\p2000-bt/packages\CmBacktrace-latest/cm_backtrace.c:405 0x08013148: rt_spin_unlock_irqrestore at D:\Develop\p2000-bt/rt-thread\src/cpu_up.c:85 0x080023ec: cm_backtrace_fault at D:\Develop\p2000-bt/packages\CmBacktrace-latest/cm_backtrace.c:707 0x080024cc: rt_cm_backtrace_exception_hook at D:\Develop\p2000-bt/packages\CmBacktrace-latest/cmb_port.c:234 0x0801811c: rt_exit_critical_safe at D:\Develop\p2000-bt/rt-thread\src/scheduler_up.c:492 0x08013148: rt_spin_unlock_irqrestore at D:\Develop\p2000-bt/rt-thread\src/cpu_up.c:85 0x0800258a: exception_hook at D:\Develop\p2000-bt/packages\CmBacktrace-latest/cmb_port.c:264 0x0800c6a4: rt_hw_hard_fault_exception at D:\Develop\p2000-bt/rt-thread\libcpu\arm\cortex-m4/cpuport.c:384 0x080002e8: _update_done at D:\Develop\p2000-bt/rt-thread\libcpu\arm\cortex-m4/context_gcc.S:250 0x08017da2: rt_system_scheduler_start at D:\Develop\p2000-bt/rt-thread\src/scheduler_up.c:187 0x08003c02: LoopForever at D:\Develop\p2000-bt/packages\stm32l4_cmsis_driver-latest\Source\Templates\gcc/startup_stm32l431xx.s:104 ``` * 代码 * uart2 通过 AT Client 启用 ```c // init at client at_client_init(BT_UART_NAME, 128, 128); at_client = at_client_get_first(); if (at_client) { /* step2:修改串口配置参数 */ const struct serial_configure config = { .baud_rate = BAUD_RATE_9600, // 修改波特率为 9600 .data_bits = DATA_BITS_8, // 数据位 8 .stop_bits = STOP_BITS_1, // 停止位 1 .parity = PARITY_NONE, // 无奇偶校验位 .bit_order = BIT_ORDER_LSB, // 小端模式 .flowcontrol = RT_SERIAL_FLOWCONTROL_NONE, // 无流控 .invert = NRZ_NORMAL, // NRZ 正常模式 #if defined(RT_USING_SERIAL_V1) .bufsz = RT_SERIAL_RB_BUFSZ, #elif defined(RT_USING_SERIAL_V2) .rx_bufsz = BSP_UART2_RX_BUFSIZE, // 修改缓冲区 rx buff size 为 128 .tx_bufsz = BSP_UART2_TX_BUFSIZE, // 修改缓冲区 tx buff size 为 128 #endif // RT_USING_SERIAL_Vx }; /* step3:控制串口设备。通过控制接口传入命令控制字,与控制参数 */ rt_device_control(at_client->device, RT_DEVICE_CTRL_CONFIG, (void *)&config); ``` * 发送的代码 ```c size_t bt_send(const char *data, size_t len) { if (at_client == NULL) { LOG_E("at_client is NULL. L%d", __LINE__); return 0; } return at_client_obj_send(at_client, data, len); } ... LOG5("进入透传模式."); /* 发送字符串 */ bt_send(str, rt_strlen(str)); ... ``` 现在没有方向了,请各位帮忙帮忙
查看更多
1
个回答
默认排序
按发布时间排序
出出啊
2024-08-26
恃人不如自恃,人之为己者不如己之自为也
难道不是系统运行过程中,执行异常,触发 backtrack 打印 bt 信息的时候使用 poll_tx 发数据才发现程序乱飞?
撰写答案
登录
注册新账号
关注者
0
被浏览
312
关于作者
dgchinky
这家伙很懒,什么也没写!
提问
3
回答
11
被采纳
2
关注TA
发私信
相关问题
1
at client 组件收数据问题?
2
请问有没有开源的AT指令解析库?
3
组件:net/at/at_client功能的一点疑问
4
使用AT client还是AT SCOKET与ESP8266通信?
5
at_client.c文件中parser函数在处理httpread命令时有bug
6
AT Client AT+MHTTPREAD接收问题
7
STM32F103RCT6 64M AT Client AIR780EP
8
UART 设备 v2 版本 什么时候支持 3.1.x啊
9
rt-thread 2.1.1版本的串口问题
10
串口v2的框架使用过程中BUFFER大小的设定规则
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
使用百度AI助手辅助编写一个rt-thread下的ONVIF设备发现功能的功能代码
2
RT-Thread 发布 EtherKit开源以太网硬件!
3
rt-thread使用cherryusb实现虚拟串口
4
《C++20 图形界面程序:速度与渲染效率的双重优化秘籍》
5
《原子操作:程序世界里的“最小魔法单位”解析》
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
WIZnet_W5500
ota在线升级
UART
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
msh
SFUD
keil_MDK
rt_mq_消息队列_msg_queue
at_device
ulog
C++_cpp
本月问答贡献
踩姑娘的小蘑菇
7
个答案
3
次被采纳
张世争
8
个答案
2
次被采纳
rv666
5
个答案
2
次被采纳
用户名由3_15位
11
个答案
1
次被采纳
KunYi
6
个答案
1
次被采纳
本月文章贡献
程序员阿伟
6
篇文章
2
次点赞
hhart
3
篇文章
4
次点赞
大龄码农
1
篇文章
2
次点赞
ThinkCode
1
篇文章
1
次点赞
Betrayer
1
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部