(1)熟悉adc和dio的配置参数,实际操作找出阅读文档没有注意的问题
(2)采集ADC1的 channel 0,当采集到的数据大于一定值得时候关闭LED灯
Window10
服务器:windows
和服务器交互软件 winscp putty
Autosar Version: 4.2.2
Tresos studio 23.0
MCAL Version: S32K14X_MCAL4_2_RTM_HF8_1_0_1
Compiling environment:greenhill 201714
调试环境:ic5000
1.通过EB修改MCAL的配置,配置adc和板载RGB灯
2.在EB中验证配置生成output输出文件
3.拷贝MCAL工程文件替代模板工程中的MCAL工程文件
4.执行模板工程文件中的copy批处理文件
5.通过winscp 上传工程
6.通过putty执行编译命令
7.将编译过得工程下载到local
8.通过ic5000下载调试
第一步配置 DioPort如图4.1
这里注意port id和port的对应关系:
第二步到原理图中找到led用到的port口和pin脚
通过检索led》》LEDRGB_RED》》PTD15
第三步进入DioPort_D 按照如图4.2所示进行设置,name设置的名字在函数
Dio_WriteChannel中作为参数使用
例如:
Dio_WriteChannel(DioConf_DioChannel_RGB_RED,1);//加前缀DioConf_DioChannel_
注意:在接下来的port设置中PortPin name虽然也设置为RGB_RED但是这是给自己标记区分使用不作为参数设置,port设置在下面还会提及。
第四步设置Port模块
进入port》》PortContainer》》 GPIO》》PortPin标签页面手动添加RGB_RED,配置参数如图4.3所示
图4.1
图4.2
图4.3
ADC转化以通道组为单位进行,转化结果存储在自定义的数组中,数组中数据的顺序要特别注意,这里的顺序并不是0通道存在0位置1通道存在1位置,而是根据adc group中channel中的顺序得到的。具体位置界面如下:
图5.1
两种参考电压模式:
VREFH_VREFL
VALTH_VREFL
参考电压需要一个最高值和一个最低值,对这个范围内的电压进行转化。
在这里 VREFL连接到VSSA VALTH 和VDDA电压一样(这款芯片中)
第二种模式参考电压可以选择内部或者外部电压,依靠单片机配置。
ADC_DMA
ADC_INTERRUPT
adc硬件单元配置中的Adc Transfer Type可以选择dma或者interrupt,在ad转化完成的时候调用。ad转化分为软件触发和硬件触发两种方式。软件触发就是通过API控制是否开模数转化;硬件触发则是通过定时器或者触发源。
Adc_StartGroupConversion(AdcGroup_1);
while(Adc_GetGroupStatus(AdcGroup_1)==ADC_BUSY)
{
//waiting for transformaion to complete
}
Adc_ReadGroup(AdcGroup_1,AdcGroup_1_Res);
if(AdcGroup_1_Res[0]>4000)
{
Dio_WriteChannel(DioConf_DioChannel_RGB_RED,0);
}
else
{
Dio_WriteChannel(DioConf_DioChannel_RGB_RED,1);
}