主题: C2000WARE 中讨论的其他器件
工具/软件:
嗨、我使用 TMS320F28377D 微控制器访问我在以下代码中使用的内部温度、但读数始终显示 4095(十进制)、因为我想执行轮询方法而不是中断、我在 drvierlib 中没有使用温度传感器代码
我使用的函数:-
SysCtl_enablePeripheral (SYSCTL_PERIPH_CLK_ADCA);
ADC_setPrescaler (ADCA_BASE、ADC_CLK_DIV_4_0);
ADC_setupSOC (ADCA_BASE、ADC_SOC_NUMBER0、ADC_TRIGGER_SW_ONLY、ADC_CH_ADCIN13,140); // 140 个时钟周期@ 200MHz = 700ns 时间段、以便温度传感器有足够的时间采集数据
ADC_setInterruptSOCTrigger (ADCA_BASE、ADC_SOC_NUMBER0、ADC_INT_SOC_TRIGGER_ADCINT1);
ADC_setInterruptSource (ADCA_BASE、ADC_INT_number1、ADC_SOC_NUMBER0);
ADC_enableContinuousMode (ADCA_BASE、ADC_INT_number1);
ADC_enableInterrupt (ADCA_BASE、ADC_INT_number1);
ADC_clearInterruptStatus (ADCA_BASE、ADC_INT_number1);
ADC_forceSOC (ADCA_BASE、ADC_SOC_NUMBER0);
ADC_enableConverter (ADCA_BASE);
SysCtl_enableTemperatureSensor ();
DEVICE_DELAY_US (1000);
//读取 ADC 结果
sensorSample = ADC_readResult (ADCARESULT_BASE、ADC_SOC_NUMBER0);
//转换为温度(摄氏度)
sensorTemp = ADC_getTemperatureC (sensorSample、3.0F);//假设基准为 3.0V
如果缺少一些内容、请告诉我
此致
J.Muniniteesh


