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

📄 nf_drv.h

📁 通过车载终端采集GPS数据
💻 H
📖 第 1 页 / 共 2 页
字号:
        Nf_send_address ( ((Byte*)&address_sector)[2] );                      \
        if (NF_4_CYCLE_ADDRESS_BIT)                                           \
          Nf_send_address ( ((Byte*)&address_sector)[1] );                    \
        Nf_wait_busy()
*/  
  #define Nf_read_open_A_area(address_sector, nb_byte)                        \
        Nf_send_command (NF_READ_A_AREA_CMD);                                 \
        Nf_send_address ( 0 );                                          \        
        Nf_send_address ( 0 );                      \
        Nf_send_address ( 0 );                      \
        if (NF_4_CYCLE_ADDRESS_BIT)                                           \
          Nf_send_address ( 0 );                    \
        Nf_wait_busy()


  #define Nf_read_open_B_area(address_sector, nb_byte)                        \
        Nf_send_command (NF_READ_B_AREA_CMD);                                 \
        Nf_send_address ( nb_byte );                                          \        
        Nf_send_address ( ((Byte*)&address_sector)[3] );                      \
        Nf_send_address ( ((Byte*)&address_sector)[2] );                      \
        if (NF_4_CYCLE_ADDRESS_BIT)                                           \
          Nf_send_address ( ((Byte*)&address_sector)[1] );                    \
        Nf_wait_busy()
  
  #define Nf_read_open_C_area(address_sector, nb_byte)                        \
        Nf_send_command (NF_READ_C_AREA_CMD);                                 \
        Nf_send_address ( nb_byte );                                          \        
        Nf_send_address ( ((Byte*)&address_sector)[3] );                      \
        Nf_send_address ( ((Byte*)&address_sector)[2] );                      \
        if (NF_4_CYCLE_ADDRESS_BIT)                                           \
          Nf_send_address ( ((Byte*)&address_sector)[1] );                    \
        Nf_wait_busy()
#else
  #if (NF_4_CYCLE_ADDRESS == 1)
  
  #define Nf_write_open_B_area(address_sector, nb_byte)                       \
        Nf_send_command (NF_READ_B_AREA_CMD);                                 \
        Nf_send_command (NF_SEQUENTIAL_DATA_INPUT_CMD);                       \
        Nf_send_address ( nb_byte );                                          \        
        Nf_send_address ( ((Byte*)&address_sector)[3] );                      \
        Nf_send_address ( ((Byte*)&address_sector)[2] );                      \
        Nf_send_address ( ((Byte*)&address_sector)[1] )
  
  
  #define Nf_write_open_A_area(address_sector, nb_byte)                       \
        Nf_send_command (NF_READ_A_AREA_CMD);                                 \
        Nf_send_command (NF_SEQUENTIAL_DATA_INPUT_CMD);                       \
        Nf_send_address ( nb_byte );                                          \        
        Nf_send_address ( ((Byte*)&address_sector)[3] );                      \
        Nf_send_address ( ((Byte*)&address_sector)[2] );                      \
        Nf_send_address ( ((Byte*)&address_sector)[1] )
  
  #define Nf_write_open_C_area(address_sector, nb_byte)                       \
        Nf_send_command (NF_READ_C_AREA_CMD);                                 \
        Nf_send_command (NF_SEQUENTIAL_DATA_INPUT_CMD);                       \
        Nf_send_address ( nb_byte );                                          \        
        Nf_send_address ( ((Byte*)&address_sector)[3] );                      \
        Nf_send_address ( ((Byte*)&address_sector)[2] );                      \
        Nf_send_address ( ((Byte*)&address_sector)[1] )
  
  #define Nf_read_open_A_area(address_sector, nb_byte)                        \
        Nf_send_command (NF_READ_A_AREA_CMD);                                 \
        Nf_send_address ( nb_byte );                                          \        
        Nf_send_address ( ((Byte*)&address_sector)[3] );                      \
        Nf_send_address ( ((Byte*)&address_sector)[2] );                      \
        Nf_send_address ( ((Byte*)&address_sector)[1] );                      \
        Nf_wait_busy()
  
  #define Nf_read_open_B_area(address_sector, nb_byte)                        \
        Nf_send_command (NF_READ_B_AREA_CMD);                                 \
        Nf_send_address ( nb_byte );                                          \        
        Nf_send_address ( ((Byte*)&address_sector)[3] );                      \
        Nf_send_address ( ((Byte*)&address_sector)[2] );                      \
        Nf_send_address ( ((Byte*)&address_sector)[1] );                      \
        Nf_wait_busy()
  
  #define Nf_read_open_C_area(address_sector, nb_byte)                        \
        Nf_send_command (NF_READ_C_AREA_CMD);                                 \
        Nf_send_address ( nb_byte );                                          \        
        Nf_send_address ( ((Byte*)&address_sector)[3] );                      \
        Nf_send_address ( ((Byte*)&address_sector)[2] );                      \
        Nf_send_address ( ((Byte*)&address_sector)[1] );                      \
        Nf_wait_busy()
  
  #endif
  
  #if (NF_4_CYCLE_ADDRESS == 0)
  
  #define Nf_write_open_B_area(address_sector, nb_byte)                       \
        Nf_send_command (NF_READ_B_AREA_CMD);                                 \
        Nf_send_command (NF_SEQUENTIAL_DATA_INPUT_CMD);                       \
        Nf_send_address ( nb_byte );                                          \        
        Nf_send_address ( ((Byte*)&address_sector)[3] );                      \
        Nf_send_address ( ((Byte*)&address_sector)[2] )
  
  
  #define Nf_write_open_A_area(address_sector, nb_byte)                       \
        Nf_send_command (NF_READ_A_AREA_CMD);                                 \
        Nf_send_command (NF_SEQUENTIAL_DATA_INPUT_CMD);                       \
        Nf_send_address ( nb_byte );                                          \        
        Nf_send_address ( ((Byte*)&address_sector)[3] );                      \
        Nf_send_address ( ((Byte*)&address_sector)[2] )
  
  #define Nf_write_open_C_area(address_sector, nb_byte)                       \
        Nf_send_command (NF_READ_C_AREA_CMD);                                 \
        Nf_send_command (NF_SEQUENTIAL_DATA_INPUT_CMD);                       \
        Nf_send_address ( nb_byte );                                          \        
        Nf_send_address ( ((Byte*)&address_sector)[3] );                      \
        Nf_send_address ( ((Byte*)&address_sector)[2] )
  
  #define Nf_read_open_B_area(address_sector, nb_byte)                        \
        Nf_send_command (NF_READ_B_AREA_CMD);                                 \
        Nf_send_address ( nb_byte );                                          \        
        Nf_send_address ( ((Byte*)&address_sector)[3] );                      \
        Nf_send_address ( ((Byte*)&address_sector)[2] );                      \
        Nf_wait_busy()
  
  #define Nf_read_open_C_area(address_sector, nb_byte)                        \
        Nf_send_command (NF_READ_C_AREA_CMD);                                 \
        Nf_send_address ( nb_byte );                                          \        
        Nf_send_address ( ((Byte*)&address_sector)[3] );                      \
        Nf_send_address ( ((Byte*)&address_sector)[2] );                      \
        Nf_wait_busy()
  
  #define Nf_read_open_A_area(address_sector, nb_byte)                        \
        Nf_send_command (NF_READ_A_AREA_CMD);                                 \
        Nf_send_address ( nb_byte );                                          \        
        Nf_send_address ( ((Byte*)&address_sector)[3] );                      \
        Nf_send_address ( ((Byte*)&address_sector)[2] );                      \
        Nf_wait_busy()
  
  #endif
#endif


/*_____ D E C L A R A T I O N ______________________________________________*/

bit nf_check_linevalid(Uint8 nlinenum/*in*/);
bit nf_check_status (void);
bit nf_block_erase (Uint32 pos);
//bit nf_write_quarterpage(Uint32 pos/*in*/, Byte* pBuf/*in*/);
bit nf_read_tobuf(Uint32 pos, Byte* pbuf, Uint8 nlen);
bit nf_init (void);
//bit nf_write_onepage(Uint32 pos, Byte* pBuf);
bit nf_testchip();

//bit nf_read_tobuf2(Uint32 pos, Byte* pbuf, Uint8 nlen);
bit nf_write_onepage2(Uint32 pos, Byte* pBuf1, Byte* pBuf2, Byte* pBuf3, Byte* pBuf4);
bit nf_read_tobuf3(Uint32 pos, Byte* pbuf, Uint8 nlen);
void nf_wp_on();
void nf_wp_off();

void delay();
/********************************************
*写任意长度到flash中,这里要求一次不能跨越两页
*一旦跨越两页,由外部处理函数处理
*pos:为需要写的实际地址,包括行地址和列地址
*********************************************/
bit nf_write_onebuf(Uint32 pos, Byte* pBuf, Uint16 nLen);
/********************************************
*调用该函数前,需要由调用者自己调用擦除函数
*写任意长度到flash中,这里要求一次不能跨越两页
*一旦跨越两页,由外部处理函数处理
*pos:为需要写的实际地址,包括行地址和列地址
*********************************************/
bit nf_write_onebuf_withouterase(Uint32 pos, Byte* pBuf, Uint8 nLen);
#endif

⌨️ 快捷键说明

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