⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 该程序为MASP430F449的读写FLASH的程序
💻 C
字号:
/***************************************************
*   文件名称:
*           main.c
*   文件说明:
*           对扩展FlashAT45DB041进行操作,在Flash的0x08
*     位置写0x08,写入数据显示到 LED[0],读出的数据显示到LED[1]  
****************************************************/
#define MSP430F449_H 0
#include <msp430x44x.h>

#ifndef LED_IN_USE
#include "led.c"
#endif

#include "exflash.c"

/****************************************************
*    main函数
*****************************************************/
void main(void)
{
      char wData=0x08;                        //存放要写的内容
      
      /****  初始化     ****/
      WDTCTL = WDTHOLD + WDTPW;               //关闭看门狗
      init_LED();                             //初始化LED
      init_EXFlash();                         //初始化Flash
      
      /****  写数据到Flash    ***/
      write_Buf = 0x84;                       //写缓冲区1,指令格式:84H + 15位无关位 + 9位地址位
      op_Start();                             //做操作前的准备工作 
      write_Data();                           //写操作指令到Flash
      write_Buf = 0x00;                       //设置八位无关位
      write_Data();                           //写八位无关位
      write_Buf = 0x00;                       //设置7位无关位和一位地址位
      write_Data();                           //写7位无关位和一位数据位
      write_Buf= 0x08;                        //设置地址
      write_Data();                           //写地址
      write_Buf = wData;                      //设置要写到Flash的内容
      write_Data();                           //写数据到Flash
      op_Stop();                              //停止操作
      
     
      /********  读操作  ************/
      op_Start();                             //启动操作
      write_Buf = 0x54;                       //读数据的指令格式:54H + 15位无关位 + 9位地址位 + 8位无关位
      write_Data();                           //写读指令到Flash
      write_Buf = 0x00;                       //设置8位无关位
      write_Data();                           //写数据
      write_Buf = 0x00;                       //设置7位无关位和一位地址位
      write_Data();                           //写数据  
      write_Buf = 0x08;                       //设置另外8位地址
      write_Data();                           //写地址
      write_Buf = 0xff;                       //设置8位无关位  
      write_Data();                           //写数据
                                              //附加脉冲
      opr_Start();                            //准备接收数据
      read_Data();                            //接收数据到read_buf
      op_Stop();                              //停止操作
      
     
     /**** 把写的内容和读出的内容显示到LED ****/
      while(1)
      {
              led_Buf[0]= wData;
              led_Buf[1] =read_Buf;
              led_Display();                   // 显示到LED
      };
      
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -