完善资料让更多小伙伴认识你,还能领取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满了,排查下吧。 |
|
|
|
|
|
把串口线程的优先级提高一下试试,有可能串口发送或者接收被打断。
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1033 浏览 0 评论
2877 浏览 0 评论
图腾柱PFC无法上升至400V,且电感电流为正弦波形,但是幅值极小
9386 浏览 0 评论
飞凌嵌入式ElfBoard-Vim编辑器之静态链接和动态链接
2898 浏览 0 评论
使用 LinkBoy 将程序导出为 C 语言代码并烧录至 Arduino ESP32 开发板
2302 浏览 1 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 12:18 , Processed in 0.851123 second(s), Total 76, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
666