majorshu 发表于 2024-10-26 13:58

【翌创ET6001测评】GPIO. 从IO交互开始

<div class='showpostmsg'><p><b>1、测试目的</b></p>

<ul>
        <li >初次使用,验证硬件环境,软件环境可行性</li>
        <li >测试GPIO翻转性能,最大IO输出频率,推断在软件IO控制中的性能,为IO模拟数字接口指标提供数据</li>
</ul>

<p ><b>2</b><b>、测试过程</b></p>

<p >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2.1在其中一台电脑上,把开GPIO Demo测例,位于..\ ET6001\ET6001 SDK示例代码\Examples\GPIO\GPIO_TogglePin\Project。查看代码,用于在主循环中进P2.4进行阻塞式Delay翻转,里面用了读改写的操作</p>

<p >DRV_StatusTypeDef GPIO_TogglePin(GPIO0_Type *GPIOx, uint16_t pin_mask)</p>

<p >{</p>

<p >&nbsp;&nbsp;&nbsp; uint32_t val = 0;</p>

<p >&nbsp;</p>

<p >&nbsp;&nbsp;&nbsp; assert_param(GPIOx != NULL);</p>

<p >&nbsp;&nbsp;&nbsp; assert_param(IS_GPIO_ALL_PERIPH(GPIOx));</p>

<p >&nbsp;</p>

<p >&nbsp;&nbsp;&nbsp; val = READ_REG(GPIOx-&gt;DATAOUT);</p>

<p >&nbsp;</p>

<p >&nbsp;&nbsp;&nbsp; if (val &amp; pin_mask) &nbsp;//根据当前寄器(上一次写入的值),决定本次写入的电平状态</p>

<p >&nbsp;&nbsp;&nbsp; {</p>

<p >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CLEAR_BIT(GPIOx-&gt;DATAOUT, pin_mask);</p>

<p >&nbsp;&nbsp;&nbsp; }</p>

<p >&nbsp;&nbsp;&nbsp; else</p>

<p >&nbsp;&nbsp;&nbsp; {</p>

<p >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SET_BIT(GPIOx-&gt;DATAOUT, pin_mask);</p>

<p >&nbsp;&nbsp;&nbsp; }</p>

<p >&nbsp;</p>

<p >&nbsp;&nbsp;&nbsp; return DRV_OK;</p>

<p >}</p>

<p >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 编译,下载,执行。。。。。顺利,但没有效果</p>

<p >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 于是Debug调试,不能控制断点,查看SDK用户手册,严格按软件版本进行操作,重新下载MDK 5.3以上的版本测试,效果一样(无效果)</p>

<p >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重新写最简函数</p>

<p >Int32_t gCnt = 0;</p>

<p >Void main(void)</p>

<p >{</p>

<p >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; While(1)</p>

<p >{</p>

<p >gCnt++;<br />
}</p>

<p >}</p>

<p >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在线Debug下载,仍为异常。在wworld网上看到一个同行,也类似的现象。原帧如下</p>

<p ><a href="https://bbs.eeworld.com.cn/thread-1296575-1-1.html" target="_blank">https://bbs.eeworld.com.cn/thread-1296575-1-1.html</a></p>

<p >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 怀疑是电脑的原因,换台电脑,重装环境</p>

<p >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2.2 新电脑重新梳理</p>

<p > &nbsp;</p>

<p >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 安装pack包 ETMCU.ET600x_DFP.1.0.6.pack</p>

<p >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 打开GPIO demo,编译,下载,运行,OK</p>

<p >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Debug 查看watch window变量,仍然无效。</p>

<p >怀疑LINK调试器的原因,手上有1个通用版本DAP LINK,可以识别芯片,但不能下载程序。</p>

<p >改写程序,验证变量是事有效果。让闪灯有点节奏,如下</p>

<p > &nbsp;</p>

<p >下载,执行,闪灯程序,快到慢,有一个变化的过程 ,说明gCnt生效了。</p>

<p >但Debug仍无法观测gCnt变量的值</p>

<p ><b>3</b><b>、总结</b></p>

<ul>
        <li >如果发现编译,下载OK,运行没有反应,可能是电脑原因,或是需要MDK 6.36版本,不止是《ET6001-SDK开发入门指南_V1.0.2.pdf》中讲的5.3x</li>
        <li >Debug时,MCU不受控,且不能查看watch window中的值,仍末解,MDK工程 会加到本帧,希望原厂FAE看到,可以下载看下,是环境配置原因,还是其他原因</li>
        <li >IO输出性能评估等Debug正常后,在本帧更新参数</li>
</ul>

<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>

majorshu 发表于 2024-10-26 14:04

<p>貌似,不能发表附件。MDK配置信息如下:</p>

<p>&nbsp;&nbsp;</p>

<p style="text-align:justify">&nbsp;</p>

<p style="text-align:justify"> &nbsp;</p>

<p style="text-align:justify"> &nbsp;</p>

<p style="text-align:justify"> &nbsp;</p>

Jacktang 发表于 2024-10-26 14:14

<p>Debug仍无法观测gCnt变量的值,这是什么原因</p>

nmg 发表于 2024-11-1 19:12

majorshu 发表于 2024-10-26 14:04
貌似,不能发表附件。MDK配置信息如下:

&nbsp;&nbsp;

&nbsp;

&nbsp;

&nbsp;

&nbsp;

<p>可以,记得上传后,记得点击一下,才能插入到里面</p>
页: [1]
查看完整版本: 【翌创ET6001测评】GPIO. 从IO交互开始