我尝试在 TMS570LS1224器件中实施 ADC 代码和 SPI 代码。 SPI 代码正在运行,但当我尝试在 CCS 调试中查看表达式窗口时,ADC 不提供数据。
但如果我单独运行 ADC 代码或 SPI 代码,我根本不会遇到任何问题。
如果我需要在将 SPI 和 ADC 代码组合在一起的同时更改任何内容,请告诉我。
代码:
/*用户代码开始(0)*/
/*用户代码结束*/
/*包括文件*/
#include "sys_common.h"
/*用户码开始(1)*/
#include "ibspi.h"(#include "ibspi.h")
#include "adc.h"
#include "sci.h"
#包括"Gio.h"
#include "system.h"
/*用户代码结束*/
/**@fn void main (void)
* @应用程序主要功能简介
* @请注意,默认情况下此函数为空。
*
* 此功能在启动后调用。
* 用户可以使用此功能来实施应用程序。
*
/*用户代码开始(2)*/
/*用户代码结束*/
//uint16计数= 3;
adcData_t ADC_DATA[12];
Int main (无效)
{
/*用户码开始(3)*/
UINT32 ch_count=0;
UINT32 id =0;
UINT32值=0;
UINT16_t reset []= { 0XD000, 0XD000, 0XD000, 0XD000}; //重置所有状态寄存器
hetInit();
gioInit();
mibspiInit();/*初始化 SPI */
//命令执行流
//重置-->开始-->写入 C5 --> C5数据-->写入 C3 --> C3数据-->停止-->读取 C5 -->读取 C3 -->读取 C3
mibspiSetData (mibspiREG1,0,重置); //将数据设置为 mibspiREG1寄存器
mibspiTransfer (mibspireG1,0); //开始从 mibspireG1寄存器传输数据
While (!(mibspiIsTransferComplete (mibspireG1,0)))); //检查传输是否已完成,然后仅发送下一组数据
While (1)(同时)
{
/*...等待并读取转换计数*/
while ((adcIsConversionComplete (adcREG1,adcGROUP1)=0);
ch_count = adcGetData (adcREG1,adcGROUP1,&ADC_DATA[2]);
CH_COUNT = CH_COUNT;
/*转换结果: */
/* ADC_DATA[0]->应具有 Group1通道1 */的转换
/* ADC_DATA[1]->应具有 Group1通道2 */的转换
ID = ADC_DATA[2].id;
值= ADC_DATA[2].value;
};