主题中讨论的其他器件: HALCOGEN、 LAUNCHXL2-RM46、 LAUNCHXL2-TMS57012
工具/软件:Code Composer Studio
您好!
我最近学习了本教程、该教程介绍了如何将电路板的光传感器接收到的值输出到串行终端: https://training.ti.com/hercules-how-tutorial-12bit-adc
我正在尝试使用 tms570ls1224板获得相同的结果。 正如教程中所述、我在每帧接收来自光传感器的值、但当我将光照在传感器上时、这些值似乎不会受到影响。 我认为问题是光传感器未正确连接到 ADC。
下面是我在 sys_main.c 中具有的代码:
/*用户代码开始(0)*/
#include "sci.h"
#include "adc.h"
#include "stdlib.h"
unsigned char 命令[8];
/*用户代码结束*/
/*包含文件*/
#include "sys_common.h"
/*用户代码开始(1)*/
#include "Gio.h"
#include "het.h"
/*用户代码结束*/
/**@fn void main (void)
* @应用程序主函数简介
* @请注意、默认情况下、此函数为空。
*
* 此函数在启动后调用。
* 用户可以使用此函数来实现应用程序。
*
int main (空)
{
/*用户代码开始(3)*/
int i;
gioInit();
hetInit();
adcData_t ADC_DATA;//ADC 数据结构
adcData_t * adc_data_ptr =&adc_data;//adc 数据指针
unsigned int NumberOfChars、value;//declare 变量
sciInit();//初始化 SCI (UART)模块
adcInit();//初始化 ADC 模块
while (1){
adcStartConversion (adcREG1、adcGROUP1);//启动 ADC 转换
while (!adcIsConversionComplete (adcREG1、adcGROUP1));//等待 ADC 转换
adcGetData (adcREG1、1U、ADC_DATA_PTR);//将转换存储到 ADC 指针
值=(unsigned int) adc_data_ptr ->值;
NumberOfChars = ltoa (value、(char *)命令);
sciSend (scilinREG、2、(unsigned char *)"0x");//发送'0x'十六进制指定字符
sciSend (scilinREG、NumberOfChars、命令);//发送环境光传感器数据
sciSend (scilinREG、2、(unsigned char *)"\r\n");//发送新的行字符
}
/*用户代码结束*/
返回0;
}
/*用户代码开始(4)*/
void adcNotification (adcbase_t * adc、无符号组)
{
返回;
}
void sciNotification (sciBASE-t * sci、无符号标志)
{
返回;
}
void esmGroup1通知(int 位)
{
返回;
}
void esmGroup2Notification (int 位)
{
返回;
}
代码显示全部正确。 我认为我需要更改 adc.c 或 adc.h 中的内容、以便传感器与 ADC 进行通信。
以下是电路板原理图的链接: http://processors.wiki.ti.com/images/c/c1/LAUNCHXL2_TMS57012_RM46_REVA.pdf
此原理图可在第10页找到:
此图显示了光传感器(Q1)如何连接到 ADC (AD1IN_6/9.3D)。
是否有人知道我需要做些什么来完成光传感器和串行终端输出之间的连接?

