MSP430F149flash按键存储

#include<msp430x14x.h>


unsigned char A = 0;
unsigned int Add = 0x1080;
void write_A( unsigned int x,unsigned char y );


void main(void)
{
  WDTCTL = WDTPW + WDTHOLD;
  
  FCTL2 = FWKEY + FSSEL0 + FN0;
  
  P2DIR = 0xff;
  
  P1DIR = 0XF0;
  P1OUT = 0X7F;
  P1IE = 0XFF;
  P1IES = 0XFF;
  P1IFG = 0X00;
  _EINT();
    


  
  for(;;)
  {  
    char *Flash_data_ptr;
    Flash_data_ptr = (char *) Add;
    A = *Flash_data_ptr;
  
    P2OUT = A;
  }
}


#pragma vector=PORT1_VECTOR
__interrupt void P1( void )
{
  unsigned char data = 0;
  switch( P1IFG )
  {
  case 0X01:
    P1IFG = 0x00;
    data = 0xee;
    break;
  case 0X02:
    P1IFG = 0x00;
    data = 0xde;
    break;
  case 0X04:
    P1IFG = 0x00;
    data = 0xbe;
    break;
  case 0X08:
    P1IFG = 0x00;
    data = 0x7e;
    break;
  }   
  write_A( Add,data );
}


void write_A( unsigned int x,unsigned char y )
{
  char *Flash_data_ptr;
  Flash_data_ptr = (char *) x;
  
  FCTL1 = FWKEY + ERASE;
  FCTL3 = FWKEY;
  *Flash_data_ptr = 0;
  FCTL1 = FWKEY + WRT;
  
  *Flash_data_ptr = y;
  
  FCTL1 = FWKEY;
  FCTL3 = FWKEY + LOCK;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值