当前位置: 首页> 科技> IT业 > 免费软件app网站下载大全_个人网站域名_seo的方法_已矣seo排名点击软件

免费软件app网站下载大全_个人网站域名_seo的方法_已矣seo排名点击软件

时间:2025/7/11 8:13:37来源:https://blog.csdn.net/weixin_40485788/article/details/146405542 浏览次数:1次
免费软件app网站下载大全_个人网站域名_seo的方法_已矣seo排名点击软件

这次的实验比较简单,主要目的就是验证一下ADC的中断功能,思路是使用软件触发ADC的连续单通道采样,将采样值通过串口发送到上位机观察数是否正确。
其实官方并不推荐使用中断的方式,这种方式会占用大量的CPU资源,笔者安排这篇文章的主要目的是在使用ADC中断的时候发现了个容易忽略的问题,如下图:
ADC的配置
笔者配置了ADC通道12的连续转换并使能了通道中断,关键的点就在中断这里,通过查看SDK中的代码发现,配置后的代码并没有在SDK的初始化代码中使能NVIC中的中断开关,一定要注意在使用中断的时候配置中断优先级以及使能NVIC中的中断开关。
配置代码如下:

void AdcInit(void)
{//初始化ADC0模块ADC_DRV_ConfigConverter(INST_ADC_CONFIG_1, &adc_config_1_ConvConfig0);//ADC0校准ADC_DRV_AutoCalibration(INST_ADC_CONFIG_1);//设置抢占中断优先级INT_SYS_SetPriority(ADC0_IRQn, 12); //设置中断优先级INT_SYS_EnableIRQ(ADC0_IRQn);	//使能ADC0中断,如果使用中断必须使能
}

主程序代码如下:

uint16_t adcSel12Value = 0;
//ADC0中断服务程序
void ADC0_IRQHandler(void)
{ADC_DRV_GetChanResult(INST_ADC_CONFIG_1, 0U, &adcSel12Value);
}
int main(void)
{McuInit();		// 芯片基础初始化:时钟、GPIO、中断使能SysTickBegin();	//	SysTick定时器计时初始化Lpuart1Init();	//LPUART的初始化AdcInit();		//初始化ADC//软件启动ADC0ADC_DRV_ConfigChan(INST_ADC_CONFIG_1, 0U, &adc_config_1_ChnConfig0);while (1){printf("The Sel12 Volt is %d\r\n", adcSel12Value);DelayMsFromSysTick(300);}
}
关键字:免费软件app网站下载大全_个人网站域名_seo的方法_已矣seo排名点击软件

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: