完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我的问题: 串口不能收到0xFF和0x00 ,请问这是为什么?若要收到0xFF和0x00 ,请问要怎样做? 问题现象: 芯片型号:AT32F403ACGU7; 支持包版本:0.0.9; 系统版本:4.1.0; 串口版本:V1; (程序功能是发送接收到的数据,但如下图所示,单片机收不到0x00和0xFF) (目前已知串口能正常发送0xFF和0x00,因为尝试在程序中写死发送的数据后,电脑端能正常收到0x00和0xFF,所以可以确定串口是收不到0x00和0xFF。) 我的代码: #include <rtthread.h> #define DBG_TAG "main" #define DBG_LVL DBG_LOG #include <rtdbg.h> #include <rtdevice.h> #include "drv_common.h" #include <rtdef.h> #include "drivers/serial.h" rt_device_t Uart1_dev;//定义一个设备对象/指向设备结构体的指针,用来接收查找到的对象。 struct serial_configure u1_configure = RT_SERIAL_CONFIG_DEFAULT;//定义串口配置结构体并初始化为系统默认配置 static rt_err_t rx_callback(rt_device_t dev,rt_size_t size)//实现串口接收中断回调函数 { rt_uint64_t dat; //定义一变量,用于接收串口的数据 rt_device_read(Uart1_dev, 0, &dat, 8); //将从串口读取的数据保存到变量中 rt_device_write(Uart1_dev, 0, &dat, 8); //将变量中的数据从串口发出 return RT_EOK; } int main(void) { rt_pin_mode(GET_PIN(A,9), PIN_MODE_OUTPUT ); rt_pin_mode(GET_PIN(A,10), PIN_MODE_OUTPUT ); Uart1_dev = rt_device_find("uart1");//查找名称为uart1的设备 rt_device_close(Uart1_dev); rt_device_set_rx_indicate( Uart1_dev, rx_callback );//设置串口的中断接收回调函数 rt_device_control( Uart1_dev, RT_DEVICE_CTRL_CONFIG, (void*)&u1_configure ); rt_device_open(Uart1_dev,RT_DEVICE_FLAG_INT_RX);//将串口以读写并且中断接收模式开启。 while(1) { rt_thread_mdelay(20); } return 0; } 试了一下,发现问题与“串口设备和控制台都用相同的串口”有关,会有冲突。但是如果我就是想要在程序中不使用控制台应该如何实现?` |
|
相关推荐
2个回答
|
|
|
|
你可以搜索,找到这个函数调用的地方,注释掉。
rt_console_set_device 如,我这边是这样的: #ifdef RT_USING_CONSOLE rt_console_set_device(RT_CONSOLE_DEVICE_NAME); #endif |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
788 浏览 0 评论
4271 浏览 0 评论
如何使用python调起UDE STK5.2进行下载自动化下载呢?
2529 浏览 0 评论
开启全新AI时代 智能嵌入式系统快速发展——“第六届国产嵌入式操作系统技术与产业发展论坛”圆满结束
2929 浏览 0 评论
获奖公布!2024 RT-Thread全球巡回线下培训火热来袭!报名提问有奖!
31479 浏览 11 评论
72907 浏览 21 评论
浏览过的版块 |
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 08:56 , Processed in 0.816204 second(s), Total 95, Slave 78 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号