This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:Code Composer Studio
您好!
我正在与 MSP430FG6626合作,对于 CTSD16在调试模式下的寄存器可见性以及对这些寄存器的访问一般而言,我有2个问题:
1.调试时,我只能在寄存器选项卡中查看通道0的寄存器,例如 CTSD16CCTL0。
如何使其他 AD 通道的寄存器可见、例如 CTSD16CCTL1?
作为 IDE,我使用的是 CCS 10.1.0。
2.如何访问其他通道的寄存器?
我在...ti/ccs1010/ccs/ccs_base/msp430/include 文件夹的 msp430fg6626.h 文件中定义了通道1的 ADC 寄存器、并尝试通过将通道0寄存器替换为通道1寄存器来调试示例项目 msp430fg662x_ctsd16_04。 不幸的是、结果变量始终为0。 如何解决此问题?
#include unsigned int 结果; // CTSD16转换结果 void main (void){ WDTCTL = WDTPW | WDTHOLD; //停止 WDT P6SEL |= BIT6 | BIT7; //选择 AD1+/-模拟输入引脚 CTSD16CTL = CTSD16REFS; //内部参考 CTSD16CCTL1 |= CTSD16SNGL | CTSD16DF; //单个样本、二进制补码 CTSD16INCTL1 |= CTSD16INCH_11; //为 CH1选择 AD1+/AD1- _DELAY_CYCLES (2000); //对于1.2V 基准电压稳定、延迟~120us while (1){ CTSD16CCTL1 |= CTSD16SC; //将位设置为开始转换 while (!(CTSD16IFG 和 CTSD16IFG)); //轮询 IFG 直到转换完成 结果= CTSD16MEM1; //保存 CTSD16转换结果 __no_operation(); //在此设置断点 } }
非常感谢。
尊敬的 Patrick:
看起来很奇怪、 它应该能够正常查看 MCU 内部的所有寄存器。 我将与团队进行核实、然后回来。
谢谢!
此致
Johnson
尊敬的 Patrick:
您是否尝试使用 CCS 或 IAR 的较低版本? 我现在没有该设备。 我已经申请了、我将在收到后进行测试和分析。
谢谢!
此致
Johnson
尊敬的 Johnson:
感谢您的回复。
我尝试了 CCS 8.3.0和 CCS 9.3.0版本、但遗憾的是、它不起作用。
如上所述、我在 msp430fg6626.h 文件的 CTSD16部分中定义了通道1的寄存器、并在文件夹中定义了 msp430fg6626.cmd 文件、该文件夹包含在... ti/ccs1010/Ccs_base/msp430/include 中、具有 MSP430x6xx 系列用户指南的给定偏移。
我是否可能忘记在这里定义某些内容、从而无法看到寄存器?
/********* * CTSD16 -Σ-Δ 16位 /CTSD16CTL = 0x0A80; CTSD16CTL_L = 0x0A80; CTSD16CTL_H = 0x0A81; CTSD16IFG = 0x0AAC; CTSD16IFG_L = 0x0AAC; CTSD16IFG_H = 0x0AAD; CTSD16IE = 0x0AAE; CTSD16IE_L = 0x0AAE; CTSD16IE_H = 0x0AAF; CTSD16IV = 0x0AB0; CTSD16IV_L = 0x0AB0; CTSD16IV_H = 0x0AB1; CTSD16CCTL0 = 0x0A82; CTSD16CCTL0_L = 0x0A82; CTSD16CCTL0_H = 0x0A83; CTSD16MEM0 = 0x0AB2; CTSD16MEM0_L = 0x0AB2; CTSD16MEM0_H = 0x0AB3; CTSD16INCTL0 = 0x0A84; CTSD16INCTL0_L = 0x0A84; CTSD16INCTL0_H = 0x0A85; CTSD16PRE0 = 0x0A86; CTSD16PRE0_L = 0x0A86; CTSD16PRE0_H = 0x0A87; CTSD16CCTL1= 0x0A88;//新 的 CTSD16CCTL1_L = 0x0A88;//new CTSD16CCTL1_H = 0x0A89;//新 的 CTSD16MEM1 = 0x0AB4;//new CTSD16MEM1_L = 0x0AB4;//new CTSD16MEM1_H = 0x0AB5;//新 的 CTSD16INCTL1 = 0x0A8A;//新 的 CTSD16INCTL1_L = 0x0A8A;//新 CTSD16INCTL_1_H = 0x0A8B;//新 CTSD16PRE1 = 0x0A8C;//新建
#define _MSP430_HAS_CTSD16_1__//新 SFR_16BIT (CTSD16CCTL1); /* CTSD16通道1控制寄存器*/ //新 SFR_8位(CTSD16CCTL1_L); /* CTSD16通道1控制寄存器*/ //新 SFR_8位(CTSD16CCTL1_H); /* CTSD16通道1控制寄存器*/ //新 SFR_16BIT (CTSD16MEM1); /* CTSD16通道1转换内存*/ //新 SFR_8位(CTSD16MEM1_L); /* CTSD16通道1转换内存*/ //新 SFR_8位(CTSD16MEM1_H); /* CTSD16通道1转换内存*/ //新 SFR_16BIT (CTSD16INCTL1); /* CTSD16通道1输入控制寄存器*/ //新 SFR_8位(CTSD16INCTL1_L); /* CTSD16通道1输入控制寄存器*/ //新 SFR_8位(CTSD16INCTL1_H); /* CTSD16通道1输入控制寄存器*/ //新 SFR_16BIT (CTSD16PRE1); /* CTSD16通道1预载寄存器*/ //新 SFR_8位(CTSD16PRE1_L); /* CTSD16通道1预载寄存器*/ //新 SFR_8位(CTSD16PRE1_H); /* CTSD16通道1预载寄存器*/ //new //* CTSD16IFG */ #define CTSD16IFG1 (0x0002) /* CTSD16通道1中断标志*/ //new #define CTSD16OVIFG1 (0x0200) /* CTSD16通道1上溢中断标志*/ //new #define CTSD16IFG1_L (0x0001) /* CTSD16通道1中断标志*/ //new #define CTSD16OVIFG1_H (0x0001) /* CTSD16通道1上溢中断标志*/ //new /* CTSD16IE */ #define CTSD16IE2 (0x0004) /* CTSD16通道2中断使能*/ //new #define CTSD160VI2 (0x0400) /* CTSD16通道2上溢中断使能*/ //new #define CTSD16IE1_L (0x0001) /* CTSD16通道0中断使能*/ //new #define CTSD16OVIE1_H (0x0001) /* CTSD16通道0上溢中断使能*/ //新建 //* CTSD16IV 定义*/ #define CTSD16IV_NONE (0x0000) /*无中断挂起*/ #define CTSD16IV_CTSD16OVIFG (0x0002) /* CTSD16OVIFG */ #define CTSD16IV_CTSD16MEM0 (0x0004) /* CTSD16MEM0-CTSD16IFG0 */ #define CTSD16IV_CTSD16MEM1 (0x0006) //新建
谢谢!
此致
Patrick
尊敬的 Patrick:
我想你不应该错过任何东西。 接收到样片后、我将测试并验证 CTSD16寄存器。
该问题可能与 CCS 有关、但还不确定。 我将在测试后更新这里。
谢谢!
此致
Johnson
[引用 USER="Patrick Bisinger ]我认为您是对的、但我仍然有点困惑、因为寄存器是在 MSP430x5xx 和 MSP430x6xx 系列中指定的
用户指南。
因此、这意味着我无法使用它们、或者它们甚至不存在?系列用户指南第30.1节 CTSD16简介包含:
[引用]多达七个独立的同步采样 ADC (通道数取决于器件、请参阅器件特定数据表)[/引用]
MSP430FG6626 数据表 第9.12.16.1节 CTSD16包含:
[引用] CTSD16模块集成了一个单个 Σ-Δ ADC、该 ADC 具有10个外部输入和4个内部输入。 [/报价]
[引用 USER="Patrick Bisinger]*这意味着我无法使用它们、甚至不存在它们?我认为 这意味着 MSP430FG6626内的 CTSD16模块仅包含单个 ADC (通道)、因此 器件中仅存在 CTSD16通道零寄存器。