完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
大家好!想请教一下:我写了一个传感器采集数据,并打印和通过串口发送一串报文驱动数码管显示内容。采集的数据放在一个数组中。在测试中发现串口发送一段时间后就不再发送数据。想请教一下这是什么环节出现了问题。 1、传感器采集数据的程序 #include <SHT85.h> #include <rtthread.h> #include <rtdevice.h> #include <board.h> #include "sht3x.h" #include <Usart.h> #include <stdio.h> #define SHT85_I2C_BUS_NAME "i2c1" #define SHT85_ADDR 0x44 #define THREAD_PRIORITY 25 #define THREAD_STACK_SIZE 1024 #define THREAD_TIMESLICE 5 static rt_thread_t Sht85_Thread = RT_NULL; static rt_thread_t Sht85_Print_Thread = RT_NULL; static rt_sem_t Sht85_sem = RT_NULL; float humidity = 0; void SHT85_Init(void) {
} static void SHT85_Thread_entry(void* parameter) {
} static void SHT85_Print_Thread_entry(void* parameter) {
} 2、串口发送的程序 #include <rtthread.h> #include <Usart.h> #include <rtdevice.h> #include <math.h> #define UART_NAME "uart6" /* 需要操作的设备 */ static rt_device_t serial; /* 设备句柄 */ struct serial_configure config = RT_SERIAL_CONFIG_DEFAULT; void uart6_transmit(float x,uint8_t func) /*x为需要显示的变量(湿度、风速等),function为显示功能参数 */ // { //0x01--温度、0x02--湿度、0x03--风速、0x04--等效温度
///* 关闭设备 */ // ret = rt_device_close(serial); // if (ret != RT_EOK) // { // rt_kprintf("close device failed\r\n"); // } // //// rt_kprintf("serial device test successful\r\n"); } 在串口调试助手捕获到这样的消息,是因为我的内存设置的原因吗? |
|
相关推荐
2个回答
|
|
如上几张图,猜测大概率是串口的fifo buffer满了,排查下吧。 |
|
|
|
把串口线程的优先级提高一下试试,有可能串口发送或者接收被打断。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
971 浏览 0 评论
AI模型部署边缘设备的奇妙之旅:如何在边缘端部署OpenCV
3205 浏览 0 评论
tms320280021 adc采样波形,为什么adc采样频率上来波形就不好了?
1434 浏览 0 评论
2085 浏览 0 评论
1604 浏览 0 评论
75224 浏览 21 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-27 09:57 , Processed in 0.916744 second(s), Total 73, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号