这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 测试测量 » SPI适配器上位机底层函数使用代码

共1条 1/1 1 跳转至

SPI适配器上位机底层函数使用代码

菜鸟
2019-08-01 15:03:42     打赏

本程序用来读写测试25AA020A存储器,测试代码如下:

  1. #include <stdio.h>

  2. #include <Windows.h>

  3. //定义SPI适配器底层函数的函数指针

  4. typedef int(*SPI_Funtion)(char *in,char *out);

  5. //定义存储器操作的命令

  6. #define CMD_READ_DATA               0X03

  7. #define CMD_PAGE_PROGRAM            0X02

  8. #define CMD_WRITE_ENABLE            0X06

  9. //数据存储区

  10. unsigned char inString[10240];

  11. unsigned char outString[10240];

  12. //主函数

  13. int main(void)

  14. {

  15.         // 加载DLL

  16.         HINSTANCE hDLL;    //DLL句柄

  17.         hDLL = LoadLibrary("VT_SPI_Driver.dll");

  18.         //获取SPI初始化函数指针地址

  19.         SPI_Funtion SPI_Init = (SPI_Funtion)GetProcAddress(hDLL,"VTIF_SPI_Init");

  20.         //获取SPI写数据函数指针地址

  21.         SPI_Funtion SPI_WriteData = (SPI_Funtion)GetProcAddress(hDLL,"VTIF_SPI_WriteData");

  22.         //获取SPI读数据函数指针地址

  23.         SPI_Funtion SPI_ReadData = (SPI_Funtion)GetProcAddress(hDLL,"VTIF_SPI_ReadData");

  24.         //获取SPI写读数据函数指针地址

  25.         SPI_Funtion SPI_WriteReadData = (SPI_Funtion)GetProcAddress(hDLL,"VTIF_SPI_WriteReadData");

  26.         //获取SPI设备选择函数指针地址

  27.         SPI_Funtion SPI_SelectDevice = (SPI_Funtion)GetProcAddress(hDLL,"VTIF_SPI_SelectDevice");

  28.         //选择SPI适配器

  29.         printf("选择SPI适配器\n");

  30.         SPI_SelectDevice("0",(char*)outString);//选择SPI适配器

  31.         printf("%s\n\n",outString);

  32.         //初始化SPI适配器

  33.         //数据格式为:“控制模式|时钟极性|时钟相位|主从模式|数据宽度|移位方向|片选极性|时钟频率”

  34.         printf("初始化SPI适配器\n");

  35.         SPI_Init("1|0|0|1|8|0|0|1000000",(char*)outString);//初始化SPI适配器

  36.         printf("%s\n\n",outString);


  37.         //控制SPI适配器写数据0x06(使能SPI存储器写命令)

  38.         printf("控制SPI适配器写数据0x06(使能SPI存储器写命令)\n");

  39.         SPI_WriteData("0x06",(char*)outString);

  40.         printf("%s\n\n",outString);

  41.         Sleep(1);


  42.         //控制SPI适配器写数据(向SPI存储器写入数据,开头的两个字节为存储器控制命令)

  43.         printf("控制SPI适配器写数据(向SPI存储器写入数据,开头的两个字节为存储器控制命令)\n");

  44.         SPI_WriteData("0x02|0x00|20|21|22|23|24|25|26|27|28|29",(char*)outString);

  45.         printf("%s\n\n",outString);

  46.         Sleep(1);


  47.         //控制SPI适配器从SPI存储器中读取10字节数据(开头两个字节为存储器控制命令)

  48.         printf("控制SPI适配器从SPI存储器中读取10字节数据(开头两个字节为存储器控制命令)\n");

  49.         SPI_WriteReadData("0x03|0x00|0x0A",(char*)outString);

  50.         printf("%s\n\n",outString);

  51.         Sleep(1);


  52.         FreeLibrary(hDLL);

  53.         system("pause");

  54.         return 0;

  55. }

复制代码





关键词: USB-SPI     上位机    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]