打印
[技术问答]

HC32L136开发板移植rt-thread nano的问题

[复制链接]
1707|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Joen23|  楼主 | 2020-11-23 15:50 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 Joen23 于 2020-11-23 15:58 编辑

各位大佬,有使用过HC32L136开发板移植rt-thread nano的吗?移植rt-thread nano在rt-thread官网上有详细步骤,需要针对芯片自己编写几个函数,其中我看了rt_hw_console_getchar函数,例子里的rt_hw_console_getchar函数体是这样的char rt_hw_console_getchar(void)
{   
int ch = -1;   
    if (__HAL_UART_GET_FLAG(&UartHandle, UART_FLAG_RXNE) != RESET)
    {        
        ch = UartHandle.Instance->DR & 0xff;   
    }   
    else   
    {        
        if(__HAL_UART_GET_FLAG(&UartHandle, UART_FLAG_ORE) != RESET)        
        {            
            __HAL_UART_CLEAR_OREFLAG(&UartHandle);
        }        
        rt_thread_mdelay(10);
    }   
return ch;
}

需要使用到串口状态寄存器中UART_FLAG_RXNE和UART_FLAG_ORE这两个标志位,但是华大的hc32l136芯片比较低级,它的串口状态寄存器里没有这两个标志位。(说低级不是贬低华大芯片,华大比较高级的芯片如hc32f460的串口状态寄存器有这两个标志位),那移植rt-thread nano时这个rt_hw_console_getchar函数应该怎么编写?



使用特权

评论回复
沙发
zhouyong77| | 2020-11-23 21:53 | 只看该作者
这个还真没搞过,可以参考一下ST的移植步骤。

使用特权

评论回复
板凳
guijial511| | 2020-11-24 08:50 | 只看该作者
rt_hw_console_getchar函数就是针对你的MCU,用户需要提供的串口接受数据接口,和有没有这两个寄存器没关系。

使用特权

评论回复
地板
勇敢的大白菜| | 2020-11-24 09:31 | 只看该作者
这个真的没有使用过。

使用特权

评论回复
5
Joen23|  楼主 | 2020-11-24 10:50 | 只看该作者
zhouyong77 发表于 2020-11-23 21:53
这个还真没搞过,可以参考一下ST的移植步骤。

我参考过,也是需要这两个标志位,没这两个标志位不知道怎么写

使用特权

评论回复
6
Joen23|  楼主 | 2020-11-24 10:51 | 只看该作者
勇敢的大白菜 发表于 2020-11-24 09:31
这个真的没有使用过。

我看了华大论坛都没有相关的

使用特权

评论回复
7
Joen23|  楼主 | 2020-11-24 10:52 | 只看该作者
guijial511 发表于 2020-11-24 08:50
rt_hw_console_getchar函数就是针对你的MCU,用户需要提供的串口接受数据接口,和有没有这两个寄存器没关系 ...

我知道,但是参考的都是有那两个标志位(都在同一个寄存器),没有的话写不出来,虽然我也知道这个函数是用来接收数据的

使用特权

评论回复
8
Joen23|  楼主 | 2020-11-24 10:54 | 只看该作者
昨天看了华大论坛都没有可以参考的,有没有大佬可以做先驱者的

使用特权

评论回复
9
Joen23|  楼主 | 2020-11-24 15:20 | 只看该作者

使用特权

评论回复
10
Joen23|  楼主 | 2020-11-24 15:22 | 只看该作者

现在万事具备,只欠这个函数的具体实现方式了,无论怎么改,还是无法实现功能,头疼呀,周五老板就要问我项目的进度了,现在好慌

使用特权

评论回复
11
martinhu| | 2020-11-25 09:22 | 只看该作者
RXNE不就是RC吗??

使用特权

评论回复
12
Joen23|  楼主 | 2020-11-25 10:21 | 只看该作者
martinhu 发表于 2020-11-25 09:22
RXNE不就是RC吗??

不一样的,有RXNE标志位的一定有还rc标志位,但是有些低级芯片只有rc没有rxne,我试过用rc代替rxne,还是不行

使用特权

评论回复
评论
martinhu 2020-11-25 13:39 回复TA
哪里不一样? 
13
豌豆爹| | 2020-11-25 10:24 | 只看该作者
哈哈哈,你就说问题有点超前,论坛里商为大神都没见过

使用特权

评论回复
14
萧洛毫| | 2020-11-25 14:49 | 只看该作者
RTT也可以在低端的芯片上实现的,可以参考他们的做法,或者说变通实现,因为RTT确实串口这个不是标配。

使用特权

评论回复
15
Joen23|  楼主 | 2020-11-25 17:05 | 只看该作者
萧洛毫 发表于 2020-11-25 14:49
RTT也可以在低端的芯片上实现的,可以参考他们的做法,或者说变通实现,因为RTT确实串口这个不是标配。 ...

rtt还是可以用的,就是想用rtt的finsh功能

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

10

帖子

0

粉丝