TI中文支持网
TI专业的中文技术问题搜集分享网站

cc2650 adc 有关

最近刚收到2650 sensor tag 开发板,研究了好几天的sensortag实例。

有一个这样的问题:sensortag的实力主要是板子上集成的2个温度传感器,bar,hum,mov传感器的代码。我想要用adc,有没有关于adc的输入外接传感信号的实例。

ti的大婶大大们,求帮助。另外,我是公路车爱好者。

张越:

难道因为板子用得人太少?

张越:

回复 张越:

没错!

jason_handsome:

同问!!

张越:

自问自答!

最近在学习sensor controller studio 里面有关于ADC的example。

JianHua Zhou2:

回复 张越:

建议你去e2e论坛搜索一下adc的用法,这个论坛里面Yan给出了一个oneShortADC()不知道是我的问题还是什么,一直读出来的数据都有问题。参考e2e论坛的代码后,用fifo模式就可以正常工作,他的例程是一次采集几个数据,发现几个数据波动并不大,直接采一次就ok了。另外,他是用硬件中断实现的,后来我直接给个100ms延迟,不用中断也是可以的。你去试试吧

haibin deng:

回复 JianHua Zhou2:

这个代码只可以用来测试light sensor,要用ADC还是不行

张越:

回复 haibin deng:

不是读adc的数据吗?

张越:

回复 JianHua Zhou2:

是基于2650这个板子的吗  刚接触见谅

张越:

回复 haibin deng:

Fxn函数里面明明写得读的adc数据呀

void taskFxn(UArg a0, UArg a1) { PIN_Handle hLedPins;

// Enable LED pins hLedPins = PIN_open(&ledPinState, pLedPinTable);

// Initialize the Sensor Controller scifOsalInit(); scifOsalRegisterCtrlReadyCallback(scCtrlReadyCallback); scifOsalRegisterTaskAlertCallback(scTaskAlertCallback); scifInit(&scifDriverSetup); scifStartRtcTicksNow(0x00010000 / 8);

// Configure and start the Sensor Controller's Analog Light Sensor task (not to be confused with OS tasks) scifTaskData.analogLightSensor.cfg.hysteresis = 16; scifTaskData.analogLightSensor.cfg.pBinThresholds[0] = 0; scifTaskData.analogLightSensor.cfg.pBinThresholds[1] = 400; scifTaskData.analogLightSensor.cfg.pBinThresholds[2] = 600; scifTaskData.analogLightSensor.cfg.pBinThresholds[3] = 800; scifTaskData.analogLightSensor.cfg.pBinThresholds[4] = 1000; scifTaskData.analogLightSensor.cfg.pBinThresholds[5] = 4095; scifStartTasksNbl(BV(SCIF_ANALOG_LIGHT_SENSOR_TASK_ID));

// Main loop while (1) {

// Wait for an ALERT callback Semaphore_pend(Semaphore_handle(&semScTaskAlert), BIOS_WAIT_FOREVER);

// Clear the ALERT interrupt source scifClearAlertIntSource();

// Find the ADC bin value (can access directly since it is a single, single-buffered value, and // we always want the latest value) uint16_t bin = scifTaskData.analogLightSensor.output.bin;

// Disable all LEDs and then enable as many as indicated by the current bin PIN_setOutputValue(hLedPins, Board_LED1, (bin >= 1)); PIN_setOutputValue(hLedPins, Board_LED2, (bin >= 2)); PIN_setOutputValue(hLedPins, Board_LED3, (bin >= 3)); PIN_setOutputValue(hLedPins, Board_LED4, (bin >= 4));

// Acknowledge the alert event scifAckAlertEvents(); }

} // taskFxn

haibin deng:

回复 张越:

我测试过YAN给的代码,只能测试light sensor测试其他的IO都不通,测试有问题,所以我没有用那个,

赞(0)
未经允许不得转载:TI中文支持网 » cc2650 adc 有关
分享到: 更多 (0)