主题中讨论的其他器件:TRF7960、 ADS1018、 MSP430FR5972
你好
我有疑问。 芯片经常停止工作。 然后、我使用仿真器读取存储器。 我发现复位矢量已更改为类似0x0080、0x1250,它是随机的。 除了此芯片、我还有一个20KW 高功率器件。 如果它处于关闭状态、则没有问题。 我认为这是干扰问题 导致内存损坏。 我在这个论坛上搜索到的这个问题很少。我尝试了他们的方式。 仍然无法解决问题。 为什么只更改了复位矢量?
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.
你好
我有疑问。 芯片经常停止工作。 然后、我使用仿真器读取存储器。 我发现复位矢量已更改为类似0x0080、0x1250,它是随机的。 除了此芯片、我还有一个20KW 高功率器件。 如果它处于关闭状态、则没有问题。 我认为这是干扰问题 导致内存损坏。 我在这个论坛上搜索到的这个问题很少。我尝试了他们的方式。 仍然无法解决问题。 为什么只更改了复位矢量?
您好 Ralph、
在我测试时、它始终与 TRF7960芯片通信。 我附加了电路图。 请帮您检查。 下面是 progarm 的一部分。
void main()
{
WDTCTL = WDTPW + WDTHOLD; //停止看门狗
// ROM RF13M 模块设置**正确的 RF 堆栈操作需要以下三行
DS = 1; //需要在此处初始化 ROM 变量
ASM ("调用#0x5CDA "); //调用 ROM 函数(初始化函数指针)
ASM ("调用#0x5CAC "); //调用 ROM 函数(检查器件配置)
RFPMMCTL0 = PMMPW; //解锁 RFPMM
RFPMMCTL0_L |= RFPMM_EN_V_Doub; //启用 VDD 倍频器
RFPMMCTL0_H |= 0xFF; //锁定 RFPMM
NFC_buff [0]= 0;
NFC_buff [1]=0;
NFC_buff [2]= 0;
NFC_buff [3]=版本;
RF13MCTL |= RF13MTXEN + RF13MRXEN + RF13MRFTOEN; //在 RF13M 模块上设置 Rx 和 TX 功能
//启用中断 **不要更改以下两行,这是正确的 RF 堆栈操作所必需的
RF13MNT |= RF13MRXIE + RX13MRFTOIE; //在 RX 和超时以及过流和欠流检查上启用中断
//initISO15693 (clear_block_lock);//clear 保护
memset (((u08_t *) FRAM_LOCK_blocks、0x00、36); //锁定 NDEF 区域
FRAMAccessLimit_Byte = 0xF8D0;
DeviceInit();
//设置 ADC
//SD14CTL0 = SD14EN + VIRTGND + SD14IE;//ADC 启用、虚拟接地启用、中断启用。
//SD14CTL1 = SD14UNI + SD14INTDLY0; //单极模式、中断在第一次采样后触发。
_bis_SR_register (GIE);
//读取环境温度
WRITE_TO_ADS1018 (1);//读取环境数据
Tempi=Read_FR_ADS1018 (1);
AmbientTemp=tempi;
Write_TO_ADS1018 (0);//读取 TC
TA0CTL |= MC_1;//开始计时器
while (1)
{
// SD14CTL0 |= SD14SC;//开始转换
_bis_SR_register (LPM3_bits + GIE);
}
}