亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? m25p80程序.txt

?? M25P80的操作
?? TXT
?? 第 1 頁 / 共 2 頁
字號:
轉自:http://dreamingdewdrop1980.spaces.live.com/blog/cns!FBA4D341BFAE0326!1245.entry
MCU:MSP430.
存儲器:M25P80(SPI總線)
雖然MSP430本身自帶SPI總線模塊.但下面的程序并沒有用此.而是用普通I/O模擬總線時序進行操作的.詳細代碼如下:
在調試時,犯了超級無敵白癡錯誤.我竟然把FLASHRAM編程寫入只能有1變0,不能從0到1,結果在調式的時候不斷的向首地址寫數,然后都給變成0,接下來回讀數據全0,當時還以為是自己的時序沒搞定呢.無意間換了個地址重寫重讀,數據正常。/于是乎"天才的"我認為是首地址已經被我寫壞(調試的時候不停的循環寫入).接著我象改變的地址重新寫一個新數,讀出比較,發現數據還是不對.才想起FLASH RAM的這個特點,不象E2RAM可以隨改隨寫.FLASH 要先擦除再寫..!切記
/*********************************************************************
*公司名稱:      *
*模 塊 名:      SPI總線FLASHRAM讀寫模塊  *
*創 建 人:           日期:        *
*修 改 人:                    日期:   * 
*功能描述:  *
*其他說明:                                             *
*版    本:VER 1.0
**********************************************************************/
#define M25_CLK_0 P4OUT&=~BIT2   //時鐘置0
#define M25_CLK_1 P4OUT|=BIT2   //時鐘置1
#define M25_SI_0 P4OUT&=~BIT3   //輸入0,上升沿寫數據
#define M25_SI_1 P4OUT|=BIT3   //輸入1
#define M25_SO  (P4IN & 0X80)>>7  //讀出數據,下降沿讀數
#define M25_CS_0 P5OUT&=~BIT2   //片選有效
#define M25_CS_1 P5OUT|=BIT2   //片選無效
#define M25_WP_0 P4OUT&=~BIT5
#define M25_WP_1 P4OUT|=BIT5
#define M25_HD_0 P4OUT&=~BIT4                    //C為低電平時,HOLD下降沿,HOLD模式
#define M25_HD_1 P4OUT|=BIT4    
#define WREN  0X06    //寫使能
#define WRDI  0X04    //寫禁止
#define RDSR  0X05    //讀狀態寄存器
#define WRSR  0X01    //寫狀態寄存器,WEL為0不允許寫
#define READ  0X03    //讀字節
#define FAST_READ 0X0B    //快讀指令
#define PP  0X02           //頁寫指令
#define SE  0XD8           //區域擦除
#define BE  0XC7           //批擦除
#define DP  0XB9           //深度掉電模式
#define RES  0XAB           //從深度掉電模式蘇醒
#define uchar           unsigned char
#define uint            unsigned int

/*********************************************************************  
*
* 函 數 名:Delay
* 功能描述: 延時子程序
* 函數說明: 
* 調用函數:
* 全局變量:無
* 輸    入: 無
* 返    回: 無
* 設 計 者 :                       日期:
* 修 改 者:                               日期:
* 版    本:VER 1.0
***********************************************************************/
void MDelay(uint ui_temp)
{
    uint ui_i;
    for(ui_i=ui_temp;ui_i>0;ui_i--)
    {
        ;
    }
}
/*********************************************************************  
*
* 函 數 名:M25P80_SPI_Write8
* 功能描述: 基于SPI總線的8位數據寫操作
* 函數說明: 實現SPI總線的8位數據寫操作,上升沿寫數據
* 調用函數:
* 全局變量:無
* 輸    入: 無
* 返    回: 無
* 設 計 者:                        日期:
* 修 改 者:                               日期:
* 版    本:VER 1.0
***********************************************************************/
void M25P80_SPI_Write8(uchar temp8)
{
    uchar i;
    for(i=8;i>0;i--)
    {
        if( ( temp8 & 0X80 ) == 0x80 )
        {
           M25_SI_1;   //寫入1
        }
        else
        {
           M25_SI_0;    //寫入0
        }
        M25_CLK_0;       
        MDelay(5);
        M25_CLK_1;        
        temp8<<=1;   //左移
        
        
    }
}

/*********************************************************************  
*
* 函 數 名:MP25_WriteEnable
* 功能描述: 寫使能
* 函數說明: PP,SE,BE,WRSR之前必須進行寫使能
* 調用函數:M25P80_SPI_Write8
* 全局變量:無
* 輸    入: 無
* 返    回: 無
* 設 計 者:                        日期:
* 修 改 者:                               日期:
* 版    本:VER 1.0
***********************************************************************/
void MP25_WriteEnable(void)
{

    
    M25_CS_0;    //片選
    M25P80_SPI_Write8(WREN);  //寫使能
    M25_CS_1;    //禁止片選
    //
    MDelay(10); 
}
/*********************************************************************  
*
* 函 數 名:SPI_Write24
* 功能描述: 基于SPI總線的24位數據寫操作
* 函數說明: 實現SPI總線的24位數據寫操作
* 調用函數:
* 全局變量:無
* 輸    入: 無
* 返    回: 無
* 設 計 者:                        日期:
* 修 改 者:                               日期:
* 版    本:VER 1.0
***********************************************************************/
void M25P80_SPI_Write24(long temp24)
{
    uchar i;
    for(i=24;i>0;i--)
    {
        if( ( temp24 & 0X800000 ) == 0x800000 )
        {
           M25_SI_1;   //寫入1
        }
        else
        {
           M25_SI_0;                    //寫入0
        }
        M25_CLK_0;
        MDelay(5);
        M25_CLK_1;
        temp24<<=1;                     //左移
    }
}
/*********************************************************************  
*
* 函 數 名:M25P80_Read
* 功能描述: 基于SPI總線的8位數據讀操作
* 函數說明: 實現SPI總線的8位數據讀操作
* 調用函數:
* 全局變量:無
* 輸    入: 無
* 返    回: 無
* 設 計 者:                        日期:
* 修 改 者:       日期:
* 版    本:VER 1.0
***********************************************************************/
uchar M25P80_Read(void)
{
    uchar i,tempbit;
    uchar tempData8;
    
    M25_CLK_0;      
    
    for(i=8;i>0;i--)
    {
        if(M25_SO == 0X01)
        {
           tempbit=1;     //置1
        }
        else
        {
           tempbit=0;     //置0
        }
        M25_CLK_1;
        MDelay(5);
        M25_CLK_0;
        tempData8= ( (tempData8<<1) | tempbit );        //數據讀出操作
    }                                
    return (tempData8);
}
/*********************************************************************  
*
* 函 數 名:MP25_ReadReg
* 功能描述: 讀功能寄存器
* 函數說明: 
* 調用函數:M25P80_SPI_Write8,MP25_WriteEnable
* 全局變量:無
* 輸    入: 無
* 返    回: 無
* 設 計 者:                        日期:
* 修 改 者:                               日期:
* 版    本:VER 1.0
***********************************************************************/
uchar MP25_ReadReg(void)
{
    uchar Reg_Temp;
    M25_CS_0;      //片選
    M25P80_SPI_Write8(RDSR);    //寫指令
    Reg_Temp=M25P80_Read();    //數據讀出
    M25_CS_1;      //禁止片選
    MDelay(10);
    return(Reg_Temp);                                   //返回值
}
/*********************************************************************  
*
* 函 數 名:MP25_Check
* 功能描述: WIP位檢查
* 函數說明: 1,表示寫操作未完成,0表示寫操作完成
* 調用函數:MP25_ReadReg
* 全局變量:無
* 輸    入: 無
* 返    回: 無
* 設 計 者:                      日期:
* 修 改 者:                               日期:
* 版    本:VER 1.0
***********************************************************************/
void MP25_Check(void)
{
    while(MP25_ReadReg() & 0X01)        
    {
        ;
    }
}
/*********************************************************************  
*
* 函 數 名:MP25_WriteDis
* 功能描述: 寫禁止
* 函數說明: 
* 調用函數:M25P80_SPI_Write8

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
26uuu精品一区二区三区四区在线| 欧美熟乱第一页| 午夜视频一区在线观看| 一区二区三区四区乱视频| 亚洲桃色在线一区| 亚洲三级免费电影| 亚洲香肠在线观看| 偷偷要91色婷婷| 久久精品国产免费看久久精品| 青草国产精品久久久久久| 蜜臀av在线播放一区二区三区| 精品在线免费视频| 国产精品2024| av激情综合网| 欧美另类久久久品| 久久―日本道色综合久久| 国产女同互慰高潮91漫画| 国产精品欧美极品| 亚洲第一在线综合网站| 美日韩黄色大片| 成人性生交大片免费看中文网站| 97精品国产露脸对白| 91色九色蝌蚪| 日韩欧美激情一区| 国产精品午夜电影| 午夜视频一区二区三区| 国内精品第一页| 色网综合在线观看| 日韩欧美国产小视频| 国产精品日产欧美久久久久| 亚洲伊人色欲综合网| 日韩激情中文字幕| 成人精品一区二区三区中文字幕| 欧美无乱码久久久免费午夜一区| 日韩欧美aaaaaa| 亚洲精品欧美专区| 国产美女精品在线| 欧美高清性hdvideosex| 污片在线观看一区二区| 精品一二线国产| 色综合天天做天天爱| 精品三级av在线| 亚洲国产精品久久不卡毛片| 国产精品中文有码| 在线播放91灌醉迷j高跟美女| 国产亚洲一区字幕| 日韩电影网1区2区| 成人av电影免费在线播放| 91精品国产麻豆| 一区二区在线观看不卡| 国产毛片一区二区| 欧美一区二区三区不卡| 亚洲精品国产精华液| 国产成人一级电影| 欧美xxxx在线观看| 丝袜美腿亚洲综合| 色狠狠一区二区| 国产精品免费av| 国产盗摄视频一区二区三区| 91麻豆精品国产91久久久久久| 日韩伦理电影网| 国产成人精品三级| 久久久美女毛片| 国产一区久久久| 欧美一区二区成人| 日韩黄色免费电影| 欧美日韩在线播放一区| 一区二区三区在线观看国产| av不卡在线观看| 国产精品久久久一区麻豆最新章节| 韩国成人在线视频| 欧美精品一区二| 国产一区二区0| 久久久三级国产网站| 国产伦精品一区二区三区免费迷| 9191国产精品| 日韩av成人高清| 欧美成人官网二区| 久久精品噜噜噜成人88aⅴ| 欧美一级免费大片| 老汉av免费一区二区三区| 91精品国产欧美日韩| 蜜臀91精品一区二区三区| 91精品国产综合久久国产大片| 亚洲电影在线免费观看| 欧美日韩大陆一区二区| 日韩电影网1区2区| 亚洲精品一线二线三线无人区| 韩国成人在线视频| 中文字幕精品—区二区四季| 91视频在线观看| 夜夜嗨av一区二区三区中文字幕| 欧美午夜精品久久久久久超碰| 亚洲va欧美va天堂v国产综合| 777午夜精品免费视频| 久久不见久久见免费视频7| 久久亚洲精精品中文字幕早川悠里 | 欧美日韩中文一区| 国产69精品久久99不卡| 久久午夜色播影院免费高清| eeuss鲁一区二区三区| 亚洲一区二区美女| 欧美xingq一区二区| 成人美女视频在线观看| 亚洲综合视频网| 久久综合av免费| 在线观看亚洲a| 国产一区二区三区日韩| 一区二区三区在线视频观看| 日韩欧美资源站| 不卡在线观看av| 免费观看成人av| 亚洲私人影院在线观看| 日韩欧美国产电影| 9i在线看片成人免费| 日本欧美在线看| 亚洲天堂久久久久久久| 日韩一区二区高清| av亚洲产国偷v产偷v自拍| 免费的国产精品| 亚洲精品亚洲人成人网 | 99re在线精品| 美日韩一区二区三区| 一区二区三区精密机械公司| 精品伦理精品一区| 欧美日韩国产影片| av一区二区不卡| 国产一区不卡视频| 天天综合色天天综合| 18欧美乱大交hd1984| 久久蜜桃av一区二区天堂| 欧美精品乱码久久久久久按摩| 成人免费毛片aaaaa**| 久久99精品一区二区三区三区| 亚洲国产成人tv| 亚洲品质自拍视频网站| 国产精品网站在线| 欧美精品一区二区在线观看| 在线电影国产精品| 欧美日韩精品一区二区在线播放| 成年人国产精品| 国产在线精品免费av| 卡一卡二国产精品 | 国产日产欧美一区二区三区| 91精品国模一区二区三区| 欧美视频精品在线| 色婷婷综合五月| 91麻豆国产在线观看| 91亚洲精品久久久蜜桃| 91丨九色丨黑人外教| 色综合一区二区| 一本大道av一区二区在线播放| 91在线国内视频| 91丨国产丨九色丨pron| 色欧美片视频在线观看在线视频| 播五月开心婷婷综合| 菠萝蜜视频在线观看一区| 成人97人人超碰人人99| 99久久综合99久久综合网站| av色综合久久天堂av综合| av亚洲精华国产精华| 在线观看网站黄不卡| 欧美图片一区二区三区| 51精品视频一区二区三区| 日韩区在线观看| 久久久久97国产精华液好用吗 | 国产成人午夜电影网| 国产成人午夜99999| 成人激情免费网站| 色综合久久中文综合久久牛| 欧美性大战久久久久久久蜜臀| 欧美自拍偷拍午夜视频| 欧美久久久久久久久| 欧美成人精品高清在线播放| 久久蜜桃av一区二区天堂| 国产精品久久久久影院老司| 亚洲制服欧美中文字幕中文字幕| 丝袜诱惑制服诱惑色一区在线观看| 亚洲国产日韩a在线播放性色| 日韩电影在线一区二区三区| 久久疯狂做爰流白浆xx| 成人黄色777网| 欧美日韩色综合| 久久久久国色av免费看影院| 亚洲三级在线观看| 久久国产精品露脸对白| 91一区在线观看| 欧美tickling挠脚心丨vk| 国产精品超碰97尤物18| 日本美女一区二区三区| 成人h精品动漫一区二区三区| 欧美伊人精品成人久久综合97| 欧美变态凌虐bdsm| 亚洲精品老司机| 国产又黄又大久久| 欧洲精品在线观看| 欧美国产国产综合| 久久国产精品无码网站| 91精品办公室少妇高潮对白| 久久久久久久久久看片|