完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
void DAC_IRQHandler(void)
{ if (DAC_GET_INT_FLAG(DAC0, 0)) { if (g_u32Index == g_u32ArraySize) g_u32Index = 0; else { DAC_WRITE_DATA(DAC0, 0, g_au16Sine[g_u32Index++]); DAC_START_CONV(DAC0); /* Clear the DAC conversion complete finish flag */ DAC_CLR_INT_FLAG(DAC0, 0); } } return; } |
|
相关推荐
1个回答
|
|
是的,DAC也有中断。DAC_IRQHandler就是DAC的中断处理函数。在上述代码中,如果DAC0的第0个通道(即DAC0_CH0)触发了中断,就会执行if语句中的代码。具体来说,会将g_u32Index对应的正弦波数据写入DAC0_CH0的数据寄存器,然后将g_u32Index加1。如果g_u32Index超出了数组范围,就将其重新设置为0。这个中断在每次DAC0输出完一段正弦波之后会被触发。
|
|
|
|
只有小组成员才能发言,加入小组>>
imx6ull 和 lan8742 工作起来不正常, ping 老是丢包
1455 浏览 0 评论
3339 浏览 9 评论
3017 浏览 16 评论
3508 浏览 1 评论
9104 浏览 16 评论
1221浏览 3评论
632浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
621浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2363浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1928浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-13 17:18 , Processed in 1.430663 second(s), Total 79, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号