在线情况
楼主
  • 头像
  • 级别
    • 积分13
    • 经验226
    • 文章11
    • 注册2011-03-30
    [求教]PMM写入老是PUC
    我用的是F5438
    对PMM寄存器操作的时候一写就PUC,不知道怎么回事。

    下面这两句,执行到第二句的时候就PUC...

    PMMCTL0  = 0xA500;
    SVSMIO  |= SVMHOE;
     
    哪位大侠指点一二

    我用的头文件是自带的io430x54x.h

    头文件是如下面这样写的,但是PMMCTL0是16位的寄存器,而下面的定义只有8位。
    按照这个定义去执行上面两条语句的时候到第二句就PUC了。

    __no_init volatile union
    {
      unsigned short PMMCTL0;  /* PMM Control 0 */
     
      struct
      {
        unsigned short PMMCOREV0     : 1;  /* PMM Core Voltage Bit: 0 */
        unsigned short PMMCOREV1     : 1;  /* PMM Core Voltage Bit: 1 */
        unsigned short PMMSWBOR      : 1;  /* PMM Software BOR */
        unsigned short PMMSWPOR      : 1;  /* PMM Software POR */
        unsigned short PMMREGOFF     : 1;  /* PMM Turn Regulator off */
        unsigned short               : 2;
        unsigned short PMMHPMRE      : 1;  /* PMM Global High Power Module Request Enable */
      } PMMCTL0_bit;  
    } @ 0x0120;

    所以我又在下面加了一个高8位:

    __no_init volatile union
    {
      unsigned short PMMCTL0;  /* PMM Control 0 */
     
      struct
      {
        unsigned short PMMCOREV0     : 1;  /* PMM Core Voltage Bit: 0 */
        unsigned short PMMCOREV1     : 1;  /* PMM Core Voltage Bit: 1 */
        unsigned short PMMSWBOR      : 1;  /* PMM Software BOR */
        unsigned short PMMSWPOR      : 1;  /* PMM Software POR */
        unsigned short PMMREGOFF     : 1;  /* PMM Turn Regulator off */
        unsigned short               : 2;
        unsigned short PMMHPMRE      : 1;  /* PMM Global High Power Module Request Enable */
        unsigned short               : 8;  /*加的高8位PMMKEY
      } PMMCTL0_bit;  
    } @ 0x0120;

    加上后再执行上面两条语句还是PUC
    密码是A5没有错啊,那是哪里问题了。请教!
    微控网感谢您的参与
    在线情况
    2
    • 头像
    • 级别
      • 积分13
      • 经验226
      • 文章11
      • 注册2011-03-30
      回樓上的,這個貼子貌似我回過了。
      樓主下面加的那個8位加不加都可以,無所謂。
      問題出在,向PPMCTL0寫了密碼後還要寫一個東西才行
      PMMCTL0  = 0xA500+PMMCOREV_2;或者隨便加個什麼東西就OK了。
      SVSMIO  |= SVMHOE;
      微控网感谢您的参与
      Powered by LeadBBS 9.2 .
      Page created in 0.1719 seconds with 5 queries.