工具与软件:
抱歉、CCS / 1312上有新内容
XDS 似乎在 LAUNCHXL 板上收听 UART。 如何打开显示的控制台
无线电在其 UART 上写入什么? 我在调试时测试菜单等。
Gullik
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
谢谢 Arthur、
我运行 Linux、但在插入 XDS 时有两个端口、ttyACM0和 ttyACM1。
更新:在调试时、ttyACM0连接到 UART 0、因此运行 minicom 时显示 OK。 UART 1我已连接到 USB 软件狗、因此该软件狗也可以正常运行、但无法将控制台连接到
进行重新编程。 不管怎样、我的问题部分解决了。
我运行 no-RTOS、(目前) stdio.h 和 stdin / stout 呢? 是否到位、所以标准程序序言
充电站?
Gullik
器件型号:CC1312R
工具与软件:
我似乎不能让 UART 1正常工作。 请帮助我理解我做错了什么。
我将使用 rfUARTBridge_CC1312R1_LAUNCHXL_nortos_gcc 示例来测试我的代码。
我已经运行了 syscfg 并添加了一个 UART、它使用引脚 DIO12/19和 DIO1/30来实现 TX 和 RX。
(引脚12/19的含义是什么、我使用的是12、1/30、我使用的是1?)
< UART2_Handle uart1; //添加 UART
< UART2_Params uartParam1;
< unsigned char cc;
< static char cmdline[MAX_LENGTH];//添加了一个缓冲区
< volatile size_t cmdbytes; //如果我有一些、则需要测试的计数
与 UART2 UART 类似、我为 UART1添加了回调
<静态 void ReceiveonUARTcallback1 (UART2_Handle handle、void *buffer、size_t count、void *userArg、int_fast16_t status);
其设置与 UART 类似
</*用回调读取模式 GW */初始化 UART1
< UART2_Params_init (&uartParams1);
< uartParams.baudrate = 115200;
< uartParams.readMode = UART2_Mode_callback;
< uartParams.readCallback = ReceiveonUARTcallback1;
< uartParams.readReturnMode = UART2_ReadReturnMode_partial;
我可以在 uart1上打印一条消息、它正确地在终端上显示
< uart1 = UART2_open (CONFIG_UART2_1、&uartParams1);
< const char startMsg1[]="\r\Nrf-UART-1 bridge-started:\r\n";
< UART2_write (uart1、startMsg1、sizeof (startMsg1)、NULL);
然后发出 Read、类似于 uart1上的 UART
< status = UART2_read (uart1、&cmdline、1、NULL); //发出开始读取
用于检查 uart1的内容并对字符进行回显的代码片段
< } else {
< if (cmdbytes != 0){
< UART2_write (uart1、&cmdline、1、NULL); //回显我得到的内容
< cmdbytes = 0;
< UART2_read (uart1、&cmdline、1、NULL); //重新发出读取
< }
<}
最后是回调
< void ReceiveonUARTcallback1 (UART2_Handle handle、void *buffer、size_t count、void *userArg、int_fast16_t status)
<{
< if (status == UART2_STATUS_SUCCESS){
< cmdbytes = count; //just incr cmdbytes 为了显示我们获得了个字符(s)、请参阅上面的代码片段
< }
< else{
< while (1){}
< }
如果我对这个回调设置中断、则永远不会发生、会执行 UART 回调、并且我回显(用于测试)我在终端上写入的内容。
但,*相同*?? uart1代码不起作用。 困惑…
Gullik
此外、在 UART 端口中注入字符时、回调会一次进入 uart1回调。
是所有 UART 通用的回调、我应该通过对它们进行区分
句柄参数、或者每个 UART 是否应该有自己的回调(正如我所做的那样)?
甚至更加困惑
更新了:还有一个奇怪、我第一次点击 uart1读取时、如果我在读取后休息一下、
程序在读取时挂起、我输入一个字符、它命中中断、并且我可以看到 cmdline[0]包含
那个字符。 回调函数不是 非阻塞函数? 第一个读数为什么会挂起?
(至少我已经能够消除 HW、因为该字符位于 cmdline[0]!!中)
但读取挂起、并且从不执行回调。
最新动态:
我的错误:initParams 行后设置的参数引用了错误的参数列表。
纠正后、立即按预期开始工作。
对不起所有无用的文本....
Gullik