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.

[参考译文] MSP430FR6989:MSP430FR6989:关于 FRAM 写入

Guru**** 2524460 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/730029/msp430fr6989-msp430fr6989-about-the-fram-writting

器件型号:MSP430FR6989

你好  

我设置 为通过设置 MPUSEGB 1和2中的地址来分频段。

它被写入 FRAM 以设置 MPUSAM。

但是、即使 MPUSAM 的 MPUSEGxWE 被禁止写入、它也会写入。

程序示例

#pragma 位置(UDATA、0x4400)

int UDATA [32][8]={
{0}、
{0}、
{0}、};

int main (空)

MPUCTL0 = MPUPW;
MPUSEGB1 = 0x1000;  
MPUSEGB2 = 0x1A00;

MPUSAM = MPUSEG1RE | MPUSEG1XE | MPUSEG1WE|
MPUSEG2RE | MPUSEG2XE | MPUSEG2WE|
MPUSEG3RE | MPUSEG3XE | MPUSEG3WE|
MPUSEGIRE | MPUSEGIWE| MPUSEGIXE;

for (i=0;i<32;i++){

  for (j=0;j<8;j++){

    UDATA [i][j]= I;

      if (j==8){

        J=0;

  }

MPUSAM &=~MPUSEG1XE;
MPUSAM &=~MPUSEG1WE;
MPUSAM &=~MPUSEG2XE;
MPUSAM &=~MPUSEG2WE;

for (i=0;i<32;i++){

  for (j=0;j<8;j++){

    UDATA [i][j]= I+j+0x1000;

      if (j==8){

        J=0;

  }

在该程序中、我认为0将从0x4400写入、但禁用后的值将写入。

我确认禁止使用 MPUSAM 进行书写。

此致。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你(们)好。
    由于您在另一篇文章中解决了此问题、如果您没有任何其他问题、我将关闭此主题。 谢谢!

    此致、
    现金 Hao