主题中讨论的其他器件:C2000WARE
工具/软件:Code Composer Studio
您好!
从 C2000Ware_1_00_04_00 ADC 示例(..\driverlib\f28004x 中的 adc_ex1_soc_software.c)开始、并使用 TMDSCNCD280049M 控制卡、我已将 ADCB 配置为 ADC 外皮修复和用于软件触发转换的 SOC。
ADC 转换完成后(即在 ADC INTFLAG 寄存器中找到相应的 ADC int 标志)、 我 在 CCS 中检查 ADCB 控制1寄存器(ADCCTL1)的内容、发现 ADCBSYCHN 字段设置为 SOC 编号的值、而不是关联的 ADC 通道编号。
下面、我在找到相应的 int 标志后将主 ADCB 寄存器的内容报告为从 CCS 寄存器窗口中读取(我正在使用 ADC int2、并且我仅配置了一个 SOC):
ADCCTL1 0x0284 ADC 控制1寄存器[存储器映射]
ADCBSY 0 ADC 忙
ADCBSYCHN 0010 ADC 忙通道
ADCPWDNZ 1 ADC 断电
INTPULSEPOS 1 ADC 中断脉冲位置
ADCINTFLG 0x0002 ADC 中断标志寄存器[存储器映射]
ADCINT4 0 ADC 中断4标志
ADCINT3 0 ADC 中断3标志
ADCINT2 1 ADC 中断2标志
ADCINT1 0 ADC 中断1标志
ADCINTSEL1N2 0x2200 ADC 中断1和2选择寄存器[存储器映射]
ADCSOCPRICTL 0x0040 ADC SOC 优先级控制寄存器[存储器映射]
RRPOINTER 00010 轮询指针 =>最后转换的 SOC 为2
SOCPRIORITY 00000 SOC 优先级
ADCSOC2CTL 0x00068009 ADC SOC2控制寄存器[存储器映射]
TRIGSEL 00000 SOC 触发源选择
CHSEL 1101 SOC 通道选择
如果我重复该测试、仅更改配置的 SOC、我发现 ADCBSYCHN 设置为新的 SoC 编号、而不是 ADCSOCxCTL 寄存器的 CHSEL 字段。