完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
大家有没有做过CC2640之间的串口通信的实验,或者同一个芯片自己TX传自己的RX。最近这个问题就是搞不通。
现在我把实验简化到同一个CC2650芯片的UART的TX和RX连续收发,TX端发电脑的RX能收到,RX端收电脑的TX也能收到,互相连一块就是不通,各自连回电脑的线又通,互相连回来又不通。所以我基本可以排除软件问题。配置UART的问题我也查过了(附下面)。我注意到互相连的时候,write callback能被运行,但信号没收到,我用的是smartRF6开发板接电脑USB电源,我想是不是RX的上拉电阻太小,自己的TX电压拉不下来? 另外,有人建议我用HWREG()来测试下硬件还是软件的问题,想请问大家HWREG()怎么用?有什么资料能学习下。 //UART INIT UART_Params_init(&SbpUartParams); SbpUartParams.baudRate = 115200; SbpUartParams.writeDataMode = UART_DATA_BINARY; SbpUartParams.readDataMode = UART_DATA_BINARY; SbpUartParams.writeMode = UART_MODE_CALLBACK; SbpUartParams.writeCallback = writeCallback; SbpUartParams.readMode = UART_MODE_CALLBACK; SbpUartParams.readCallback = readCallback; SbpUartParams.readEcho= UART_ECHO_OFF; SbpUartHandle = UART_open(CC2650_UART0, &SbpUartParams); UARTHS_slave_init(); |
|
相关推荐
2 个讨论
|
|
谢谢,我用示波器观察了果然是我说的问题。
芯片TX连自己的RX时,传数据时,低电平只拉低了不到20%,难怪收不到。换连PC的RX时能拉低80%的电平,就能正常接收到了。如果TX悬空,低电平就能拉到底了。 请问RX线的PULL UP是怎么控制的?因为我另外还设了两个PIN的INPUT用PULL UP配置,用芯片自己的GPIO OUTPUT拉低时是可以拉到底的。而且,我查CC2650EM的board.c,没发现UART 的RX的配置 PIN_Config BoardGpioInitTable[] = [ Board_LED1 | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX, /* LED initially off */ Board_LED2 | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX, /* LED initially off */ Board_LED3 | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX, /* LED initially off */ Board_LED4 | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX, /* LED initially off */ Board_KEY_SELECT | PIN_INPUT_EN | PIN_PULLUP | PIN_HYSTERESIS, /* Button is active low */ Board_KEY_UP | PIN_INPUT_EN | PIN_PULLUP | PIN_HYSTERESIS, /* Button is active low */ Board_KEY_DOWN | PIN_INPUT_EN | PIN_PULLUP | PIN_HYSTERESIS, /* Button is active low */ Board_KEY_LEFT | PIN_INPUT_EN | PIN_PULLUP | PIN_HYSTERESIS, /* Button is active low */ Board_KEY_RIGHT | PIN_INPUT_EN | PIN_PULLUP | PIN_HYSTERESIS, /* Button is active low */ Board_3V3_EN | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL, /* 3V3 domain off initially */ Board_LCD_MODE | PIN_GPIO_OUTPUT_EN | PIN_GPIO_HIGH | PIN_PUSHPULL, /* LCD pin high initially */ Board_LCD_RST | PIN_GPIO_OUTPUT_EN | PIN_GPIO_HIGH | PIN_PUSHPULL, /* LCD pin high initially */ Board_LCD_CSN | PIN_GPIO_OUTPUT_EN | PIN_GPIO_HIGH | PIN_PUSHPULL, /* LCD pin high initially */ Board_UART_TX | PIN_GPIO_OUTPUT_EN | PIN_GPIO_HIGH | PIN_PUSHPULL, /* UART TX pin at inactive level */ PIN_TERMINATE /* Terminate list */ ]; 我想知道RX怎么改动下可以修复这个bug,如果像我现在RX肯定不悬空,是否可以去掉RX的PULL UP?还有在哪设置呢? |
|
|
|
|
|
只有小组成员才能发言,加入小组>>
351 浏览 1 评论
546 浏览 2 评论
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
790 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
660 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1140 浏览 1 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
85浏览 29评论
317浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
262浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
210浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
69浏览 13评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-28 22:32 , Processed in 0.977446 second(s), Total 47, Slave 40 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号