MioChan 发表于 2024-12-3 20:40

【Follow me第二季第3期】EK_RA6M5基础任务&进阶任务

本帖最后由 MioChan 于 2024-12-4 09:06 编辑

<p><span style="font-size:16px;"><strong>基础任务:quad-spi flash和octo-spi flash配置及读写速度测试;DAC配置生成波形及性能测试;</strong></span></p>

<p>&nbsp;</p>

<p>关于quad-spi flash和octo-spi flash配置及读写速度测试做起来比较简单,因为例程里都已经给出了,速度测试的代码主要为下图所示</p>

<p> &nbsp;</p>

<p>&nbsp;</p>

<p>在刷入例程的测试程序后,我们将数据线连到板子的full speed接口,然后打开终端选择串口打开命令后,我这里是10</p>

<p> &nbsp;</p>

<p>&nbsp;</p>

<p>&nbsp;</p>

<p>确定后就能看见下面的界面了(默认背景是白色会看不清字体,可以在窗口-首选项-终端-Presets中选择暗色Dark的预设将背景改为黑色)</p>

<p> &nbsp;</p>

<p>&nbsp;</p>

<p>然后依次输入4、64、按tab键即可完成测速</p>

<p> &nbsp;</p>

<p>&nbsp;</p>

<p>接下来是DAC输出波形,这个可以按照视频教程中的方法来做</p>

<p>首先添加一个DAC功能栈</p>

<p> &nbsp;</p>

<p>&nbsp;</p>

<p>在引脚设置中分配p014引脚并解决引脚冲突的问题</p>

<p> &nbsp;</p>

<p>&nbsp;</p>

<p>下一步在初始化的代码中的这个位置输入下面的代码,完成DAC初始化</p>

<pre>
<code class="language-cpp">fsp_err = R_DAC_Open(&amp;g_dac0_ctrl, &amp;g_dac0_cfg);
fsp_err = R_DAC_Start(&amp;g_dac0_ctrl);</code></pre>

<p> &nbsp;</p>

<p>&nbsp;</p>

<p>然后在led回调函数中加入发出正弦波的功能即可</p>

<p> &nbsp;</p>

<pre>
<code class="language-cpp">#include &lt;math.h&gt;

#define M_PI 3.14159265358979323846

void gpt_blue_callback(timer_callback_args_t * p_args)

{

    FSP_PARAMETER_NOT_USED(p_args);

    uint16_t dacvalue = 0;

    static double w =0.0;

    w += M_PI /30;

    if (w&gt;=M_PI*2) w=0.0;

    dacvalue= (sin(w)+1)/2*4095;

    R_DAC_Write(&amp;g_dac0_ctrl, dacvalue);</code></pre>

<p>&nbsp;</p>

<p>&nbsp;</p>

<p>烧录程序后用示波器链接对应的引脚和GND</p>

<p> &nbsp;</p>

<p>&nbsp;</p>

<p>可以在示波器查看到正弦波,并且板子的速度很快,基本上电就能立刻看到波形</p>

<p> &nbsp;</p>

<p>&nbsp;</p>

<p>&nbsp;</p>

<p><span style="font-size:16px;"><b>进阶任务:示例程序中新增命令打印信息;</b></span></p>

<p>&nbsp;</p>

<p>这个任务也比较简单,基于例程修改就可以,首先在这个c文件修改显示的列表并加入一个新项目</p>

<p> &nbsp;</p>

<p>接下来在menu_kis的头文件和c文件中声明和定义这个函数</p>

<p> &nbsp;</p>

<p>我是直接让这个函数直接在控制台打印<a name="_Hlk184135955">Hello EEWorld</a>这句话</p>

<p> &nbsp;</p>

<p>&nbsp;</p>

<p>同样的将板子连入Debug口烧录,然后接会到Full Speed口查看终端。</p>

<p>现在可以看见菜单多了一个选项,输入6即可进入</p>

<p> &nbsp;</p>

<p>&nbsp;</p>

<p>成功输出了Hello EEWorld!</p>

<p> &nbsp;</p>

<p>&nbsp;</p>

<p><b>关于最后那个拓展任务,因为之前没接触过这种板子,我感觉真的有点困难。主要是感觉展内容跨度一下子有点太大了,先前的任务并没有学习过如何开始创建一个新工程(工程需要做什么设置,定时器的配置,如何多线程),USB Console怎么配置,如何在一个新工程使用定时器做led的blink以及按钮中断之类的,视频也只是带着跑了一遍demo工程,视频我觉得还是应该讲讲基础的东西,以及整个工程的逻辑结构之类的,看完这个视频其他任务都能做完,但感觉对拓展任务没任何帮助<img height="53" src="https://bbs.eeworld.com.cn/static/editor/plugins/hkemoji/sticker/facebook/sad.gif" width="54" /></b></p>

<p>&nbsp;</p>
页: [1]
查看完整版本: 【Follow me第二季第3期】EK_RA6M5基础任务&进阶任务