本次实验使用片上的温度传感器(OTS)资源进行芯片内的温度采集,数据通过串口传送至PC端利用串口助手软件进行实时显示。
一、实验资源
1、HC32F460-EVB;
2、Keil V5.28;
3、ST-LINK调试器;
4、Type-A to Micro数据线;
5、串口调试助手
二、资源简介
OTS模块是一个比较简单的资源,但在实际工程应用中还是比较有用的。用过其它一些芯片的类似资源是被包含于ADC模块的,OTS相对使用更加方便。
三、代码实现
实验代码参考了DEMO,OTS时钟源选择了XTAL时钟:
void OTS_Config(void)
{
stc_ots_init_t stcOtsInit;
CLK_LrcCmd(Enable);
CLK_XtalCmd(Enable);
stcOtsInit.enAutoOff = OtsAutoOff_Disable;
stcOtsInit.enClkSel = OtsClkSel_Xtal;
stcOtsInit.u8ClkFreq = (uint8_t)SYS_CLOCK_FREQ_MHZ;
PWC_Fcg3PeriphClockCmd(PWC_FCG3_PERIPH_OTS, Enable);
OTS_Init(&stcOtsInit);
}
int32_t main(void)
{
float OTS_Value = 0;
//SysClkIni();
USART_Config();
OTS_Config();
Ddl_Delay1ms(5ul);
while(1)
{
if (0 == OTS_StartGetTemp(&OTS_Value, 10))
printf("\nOTS_Value = %.3f", OTS_Value);
Ddl_Delay1ms(1000u);
}
}
四、实验结果
五、实验总结
OTS模块操作简便,相对于利用ADC模块采集芯片内温度的方法在使用上也更加方便。
|