【Follow me第二季第3期】DAC波形生成
[复制链接]
1、生成工程:
2、选择以EK-RA65开发板生成工程
3、新建一个stackDAC0,选择输出IO为P014
其属性改为默认即可:
4、生成工程:
5、代码实现:
首先我们需要打开DAC: R_DAC_Open(&g_dac0_ctrl, &g_dac0_cfg);
然后启动DAC:R_DAC_Start(&g_dac0_ctrl);
向DAC写入0-4095的值,来产生电平:R_DAC_Write(&g_dac0_ctrl, v);
总体代码如下:
* [url=home.php?mod=space&uid=159083]@brief[/url] Blinky example application
void hal_entry (void)
{
#if BSP_TZ_SECURE_BUILD
/* Enter non-secure code */
R_BSP_NonSecureEnter();
#endif
uint16_t v;
uint8_t flag = 0;
/* Define the units to be used with the software delay function */
const bsp_delay_units_t bsp_delay_units = BSP_DELAY_UNITS_MICROSECONDS;
R_DAC_Open(&g_dac0_ctrl, &g_dac0_cfg);
R_DAC_Start(&g_dac0_ctrl);
while(1)
{
if(0 == flag)
{
v = v+1;
if(v == 4096)
{
flag = 1;
}
}
else{
v = v-1;
if(0 == v)
{
flag = 0;
}
}
v = v%4096;
R_DAC_Write(&g_dac0_ctrl, v);
R_BSP_SoftwareDelay(20, bsp_delay_units);
}
}
下载后,打开示波器,探头接到P014上:
【小结】
通过FSP的图形化界面设置,可以轻松实现DAC波形,如果要改变波形,只需要通过函数来计算波形的坐标就行了。
|