【翌创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 > 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 > uint32_t val = 0;</p>
<p > </p>
<p > assert_param(GPIOx != NULL);</p>
<p > assert_param(IS_GPIO_ALL_PERIPH(GPIOx));</p>
<p > </p>
<p > val = READ_REG(GPIOx->DATAOUT);</p>
<p > </p>
<p > if (val & pin_mask) //根据当前寄器(上一次写入的值),决定本次写入的电平状态</p>
<p > {</p>
<p > CLEAR_BIT(GPIOx->DATAOUT, pin_mask);</p>
<p > }</p>
<p > else</p>
<p > {</p>
<p > SET_BIT(GPIOx->DATAOUT, pin_mask);</p>
<p > }</p>
<p > </p>
<p > return DRV_OK;</p>
<p >}</p>
<p > 编译,下载,执行。。。。。顺利,但没有效果</p>
<p > 于是Debug调试,不能控制断点,查看SDK用户手册,严格按软件版本进行操作,重新下载MDK 5.3以上的版本测试,效果一样(无效果)</p>
<p > 重新写最简函数</p>
<p >Int32_t gCnt = 0;</p>
<p >Void main(void)</p>
<p >{</p>
<p > While(1)</p>
<p >{</p>
<p >gCnt++;<br />
}</p>
<p >}</p>
<p > 在线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 > 怀疑是电脑的原因,换台电脑,重装环境</p>
<p > 2.2 新电脑重新梳理</p>
<p > </p>
<p > 安装pack包 ETMCU.ET600x_DFP.1.0.6.pack</p>
<p > 打开GPIO demo,编译,下载,运行,OK</p>
<p > Debug 查看watch window变量,仍然无效。</p>
<p >怀疑LINK调试器的原因,手上有1个通用版本DAP LINK,可以识别芯片,但不能下载程序。</p>
<p >改写程序,验证变量是事有效果。让闪灯有点节奏,如下</p>
<p > </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 > </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> <p>貌似,不能发表附件。MDK配置信息如下:</p>
<p> </p>
<p style="text-align:justify"> </p>
<p style="text-align:justify"> </p>
<p style="text-align:justify"> </p>
<p style="text-align:justify"> </p>
<p>Debug仍无法观测gCnt变量的值,这是什么原因</p>
majorshu 发表于 2024-10-26 14:04
貌似,不能发表附件。MDK配置信息如下:
<p>可以,记得上传后,记得点击一下,才能插入到里面</p>
页:
[1]