kit7828 发表于 2022-5-18 19:24

[RTT&瑞萨高性能 CPK-RA6M4] 2、GPIO及UART的评测

<div class='showpostmsg'> 本帖最后由 kit7828 于 2022-5-18 20:10 编辑

<p>前面的环境搭建中,已经进行了GPIO的点灯,在src下的hal_entry.c中可以看到点灯和按钮的管脚定义</p>

<p>&nbsp;P106和P105</p>

<pre>
<code>void hal_entry(void)
{
    rt_kprintf("\nHello RT-Thread!\n");

    while (1)
    {
      rt_pin_write(LED3_PIN, PIN_HIGH);
      rt_thread_mdelay(50);
      rt_pin_write(LED3_PIN, PIN_LOW);
      rt_thread_mdelay(50);
    }
}</code></pre>

<p>函数中就通过输出高低电平控制了LED3的亮和灭,而按钮的函数,采用的是中断的方式,检测上升沿</p>

<pre>
<code>void icu_sample(void)
{
    /* init */
    rt_uint32_t pin = rt_pin_get(USER_INPUT);//查找管脚
    rt_kprintf("\n pin number : 0x%04X \n", pin);
    rt_err_t err = rt_pin_attach_irq(pin, PIN_IRQ_MODE_RISING, irq_callback_test, RT_NULL);
   //附着中断,检测上升沿,回调函数为irq_callback_test
    if(RT_EOK != err)
    {
      rt_kprintf("\n attach irq failed. \n");
    }
    err = rt_pin_irq_enable(pin, PIN_IRQ_ENABLE);
    //使能中断
    if(RT_EOK != err)
    {
      rt_kprintf("\n enable irq failed. \n");
    }
}
MSH_CMD_EXPORT(icu_sample, icu sample);//加载到msh中</code></pre>

<p>RT-Thread有个非常好用的msh功能,通过终端的方式调用命令,而这个终端是通过串口交互的</p>

<p> &nbsp;</p>

<p>在RTT的settings中,可以看到,系统终端用的uart7</p>

<p>&nbsp;同样,在瑞萨的FSP中,也可以看到具体的硬件配置</p>

<p>&nbsp;点灯的闪烁在上一个评测中已经看到了,下面测试uart7及终端,并且通过终端测试按钮外部中断</p>

<p>由于uart7用到的管脚是P613和P614</p>

<p>&nbsp;打开终端窗口,选择com口,电脑上端口恰好也是COM7</p>

<p>&nbsp;需要按下复位键,才能看到RT-Thread的徽标</p>

<p>&nbsp;键入命令,就能看到msh的效果了</p>

<p> &nbsp;</p>

<p>如有按键按下,则触发中断</p>

<p> &nbsp;</p>

<p>&nbsp;</p>
</div><script>                                        var loginstr = '<div class="locked">查看本帖全部内容,请<a href="javascript:;"   style="color:#e60000" class="loginf">登录</a>或者<a href="https://bbs.eeworld.com.cn/member.php?mod=register_eeworld.php&action=wechat" style="color:#e60000" target="_blank">注册</a></div>';
                                       
                                        if(parseInt(discuz_uid)==0){
                                                                                                (function($){
                                                        var postHeight = getTextHeight(400);
                                                        $(".showpostmsg").html($(".showpostmsg").html());
                                                        $(".showpostmsg").after(loginstr);
                                                        $(".showpostmsg").css({height:postHeight,overflow:"hidden"});
                                                })(jQuery);
                                        }                </script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script>

nmg 发表于 2022-5-23 15:44

<p>过程分享很清晰,官方建议的其他内容,建议也分享出来,比如相关代码这类的,</p>

<p>可以看看官网给出的文章结构的要求:</p>

<p><strong>针对自己领取的功能模块在论坛提交评测文章,文章必须需包含:</strong><br />
● 功能模块的硬件介绍(*)<br />
● 功能模块的使用说明(*)<br />
● 外设性能指标测试<br />
● 完成模块功能的演示,视频建议可放到B站(*)</p>

<p>(温馨提示:功能演示的视频可上传至B站,视频链接可放在测评文章里)<br />
● 可编译下载的代码,可给出gitee或者github链接(*)<br />
●心得体会(*)</p>
页: [1]
查看完整版本: [RTT&瑞萨高性能 CPK-RA6M4] 2、GPIO及UART的评测