本次实验使用片上的温度传感器(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模块采集芯片内温度的方法在使用上也更加方便。
|