亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码
標題:
stm32f103驅動ch375b可讀寫優盤扇區源程序
[打印本頁]
作者:
小徐
時間:
2022-11-13 15:13
標題:
stm32f103驅動ch375b可讀寫優盤扇區源程序
單片機源程序如下:
#include "sys.h"
#include "delay.h"
#include "usart.h"
#include "ch375.h"
#include "led.h"
#define ADDR 100//6600000//100 //要操作的U盤的扇區地址 物理扇區地址,用winhex打開物理磁盤可查看扇區地址數據
u8 flag1=0;
u8 Write_pbuf[512]; //數據緩沖區
u8 Read_pbuf[2048];
u8 status=0xff; //初始化狀態標志
//測試內容:在優盤或TF卡內ADDR地址開始,連續寫4個扇區數據,再從ADDR處連續讀4個扇區數據進行匹配,驗證數據是否正確
//可獲取優盤或TF卡容量
//注意:要先上電,再插入優盤
int main(void)
{
u16 i=0;
delay_init(); //延時函數初始化
LED_Init();
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //設置NVIC中斷分組2:2位搶占優先級,2位響應優先級
uart_init(9600); //串口初始化為9600
printf("串口設置完畢\r\n");
delay_ms(100); //內部電源上電的復位時間最大為40ms,這里延時一段時間防止出現CH375初始化失敗
CH375_GPIO_Init(); //初始化CH375B控制端口和數據端口 WR、RD、CS、A0、INT和P0~P7
CH375_WR_CMD(CMD_GET_IC_VER); // 獲取芯片及固件版本
status=CH375_RD_DAT(); // 版本
printf("芯片版本為:%#x\r\n",status);
status=CH375Init(); //初始化CH375芯片,成功返回0,失敗返回1
printf("CH375芯片初始化值:%#x\r\n",status);
CH375_WR_CMD(CMD_DISK_MAX_LUN); // 獲取USB存儲設備的最大邏輯單元號
status=CH375_RD_DAT(); // 最大邏輯單元號
printf("USB存儲設備的最大邏輯單元號為:%#x\r\n",status);
//status=InitDisk(); //初始化U盤,初始化成功返回0,不成功返回錯誤代碼 優盤要上電后重新插拔一次再復位才能成功。SD卡不用
//注意:要先上電,再插入優盤
status=CH375_InitDisk(); //成功 金士頓8G USB2.0優盤 東芝16G USB3.0優盤上電后插入初始化成功,,SD卡可不用插拔
printf("U盤初始化值:%#x\r\n",status);
status=Get_CH375DiskSize();//打印磁盤容量,單位MByte
for(i=0;i<512;i++)
Write_pbuf[i]=i;//0x55;// //向數據緩沖區中寫入0~255 0~255,共512個字節
printf("向緩沖區中裝入完畢\r\n");
//CH375WriteSector(ADDR+2,Write_pbuf);//將數據緩沖區中的512個字節的數據寫入U盤的第ADDR扇區中 單個扇區寫數據
CH375_WriteDisk(Write_pbuf,ADDR,4); //連續寫多個扇區數據
printf("寫 U盤扇區完畢\r\n");
for(i=0;i<2048;i++) //清空接收數據緩沖區
{
Read_pbuf[i]=0;
}
printf("清空接收緩沖區完畢\r\n");
//CH375ReadSector(ADDR+1,Read_pbuf);//從U盤的第ADDR扇區中讀取512個字節的數據到數據緩沖區 單個扇區讀數據
CH375_ReadDisk(Read_pbuf,ADDR,4); //連續讀多個扇區數據
//查看讀取到的幾個扇區數據
for(i=0;i<10;i++)
{
printf("讀取到的扇區數據為:i=%d Read_pbuf[i]=%#x\r\n",i,Read_pbuf[i]);
}
for(i=520;i<530;i++)
{
printf("讀取到的扇區數據為:i=%d Read_pbuf[i]=%#x\r\n",i,Read_pbuf[i]);
}
for(i=1030;i<1040;i++)
{
printf("讀取到的扇區數據為:i=%d Read_pbuf[i]=%#x\r\n",i,Read_pbuf[i]);
}
for(i=1600;i<1610;i++)
{
printf("讀取到的扇區數據為:i=%d Read_pbuf[i]=%#x\r\n",i,Read_pbuf[i]);
}
printf("讀 U盤扇區完畢\r\n");
for(i=0;i<512;i++)
{
if(Write_pbuf[i]!=Read_pbuf[i]) //對讀出的數據進行匹配,如果不吻合則flag=1,否則flag=0
{
flag1=1; //數據不吻合,flag1=1;
break;
}
}
printf("匹配完畢\r\n");
for(i=0;i<512;i++) //清空發送數據緩沖區
{
Write_pbuf[i]=0;
//printf("扇區數據為:%#x\n",Write_pbuf[i]);
}
if(flag1)
{
LED=1; //發光二極管滅
printf("U盤扇區讀寫測試失敗!\r\n"); //數據不吻合
}
else
{
LED=0; //發光二極管點亮
printf("U盤扇區讀寫測試成功!\r\n"); //數據吻合
}
printf("------------------------------------\r\n");
while(1){
}
}
復制代碼
Keil代碼下載:
Keil代碼.7z
(216.18 KB, 下載次數: 11)
2022-11-13 17:04 上傳
點擊文件名下載附件
stm32f103驅動ch375b可讀寫優盤扇區,可測優盤容量
下載積分: 黑幣 -5
歡迎光臨 (http://www.denmoz.com/bbs/)
Powered by Discuz! X3.1