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

📄 general.c

📁 基于MSP430F1611处理器的使用硬件SPI0控制闪存芯片AT45DB081B的代码,编写了底层命令和页写,读命令
💻 C
字号:
#include <MSP430X16X.h>
#include "General.h"

void Init_SYS_CLK()///系统时钟函数
{
  DCOCTL  = (0x07<<5);   //设置DCO
  BCSCTL1 |= 0x07;        //设置RSEL
  BCSCTL2 = 0x00;        //MCLK=SCLK=DCOCLK ACLK=LFX1=32768Hz
  return;
}

void Init_SPI()             //SPI 初始化函数
{
  P5SEL |= 0x0E;
  P5DIR |=BIT1+BIT3;        //BIT1=SIMO0 BIT3=UCLK0
  U1CTL |= CHAR+SYNC+SWRST+MM;   //串口设置控制位使能,数据位为8bit,同步主机模式
  U1TCTL |= STC+CKPL+SSEL1;      //3线

  UBR0_1 = 2;	          
  UBR1_1 = 0;
  UMCTL_1= 0;

  ME2 |= USPIE1;            //使能UART0的SPI0
  UCTL1 &=~SWRST;           //串口设置完成
  IFG2 &= ~UTXIFG1;
}


#pragma optimize=2    //防止程序优化令延时失去意义
//-------------------------delay-----------------
void Delay_ms(unsigned long int n)  //毫秒为单位
{
  unsigned long int i,j;
  for(i = n;i > 0;i--)
  {
    for(j = 540;j > 0;j--);   //Rsel=4,DCO=3: 90  Rsel=5,DCO=3: 150 Rsel=6,DCO=3: 230  
  }                           //Rsel=7,DCO=3: 350 Rsel=7,DCO=7: 540
  return;
}

void Short_Delay(unsigned int n)    //短延时
{
  unsigned long int i;
  for(i = n;i > 0;i--)
  {
    _NOP();
  }
}

//-------------------------delay-----------------


⌨️ 快捷键说明

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