久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
stm32讀取SD卡信息程序,通過SPI的方式
[打印本頁]
作者:
LCIOT
時間:
2017-8-6 19:00
標題:
stm32讀取SD卡信息程序,通過SPI的方式
這是一個讀取SD卡信息的程序
所有資料51hei提供下載:
SD程序.rar
(2.53 MB, 下載次數: 223)
2017-8-6 18:59 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
stm32單片機源程序如下:
/**
******************************************************************************
* @file USART/Printf/main.c
* @author MCD Application Team
* @version V3.3.0
* @date 04/16/10
* @brief Main program body
******************************************************************************
* @copy
*
* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
* TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
* DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
* FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
* CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
*
* <h2><center>© COPYRIGHT 2010 STMicroelectronics</center></h2>
*/
/* Includes ------------------------------------------------------------------*/
#include "stm32f10x.h"
#include "delay.h"
#include <stdio.h>
#include <stdlib.h>
#include "sd.h"
#include "usart.h"
/* Private macro -------------------------------------------------------------*/
/* Private variables ---------------------------------------------------------*/
USART_InitTypeDef USART_InitStructure;
GPIO_InitTypeDef GPIO_InitStructure;
/* Private function prototypes -----------------------------------------------*/
#ifdef __GNUC__
/* With GCC/RAISONANCE, small printf (option LD Linker->Libraries->Small printf
set to 'Yes') calls __io_putchar() */
#define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
#else
#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
#endif /* __GNUC__ */
/**
* @brief Main program
* @param None
* @retval None
*/
u8 SD_Buffer[512];//SD卡數據緩存區
int main(void)
{
u8 tmp;
u16 mm,nn;
u32 nummber,nummber_bak;
//設置優先級分組:搶占優先級和響應優先級各2位
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
//設置向量表的位置和偏移:在FLASH中偏移為0
NVIC_SetVectorTable(NVIC_VectTab_FLASH,0);
//USART1初始化
USART1_Init();
//檢測當前系統時鐘SystemCoreClock
SystemCoreClockUpdate ();
//檢測SD卡,失敗則2秒后繼續檢測
while(SD_Init()!=0)
{
printf("\r\n未檢測到SD卡!");
delay_ms(SystemCoreClock,1000);
delay_ms(SystemCoreClock,1000);
}
printf("\r\n初始化SD卡成功!\r\n");
//邏輯0扇區的物理扇區號
nummber_bak=SD_GetLogic0();
while(1)
{
RxCounter1=0;
printf("\r\n請發送要讀取的邏輯扇區號\r\n");
do
{ //等待接收停止100mS
tmp = RxCounter1;
delay_ms(SystemCoreClock,100);
}while(RxCounter1==0 || tmp!=RxCounter1);
//將接收到的字符串轉換成數值
RxBuffer1[RxCounter1]='\0';
nummber=atol((const char *)RxBuffer1);
if(SD_ReadBlock(SD_Buffer,nummber_bak+nummber,512)==0)//讀指定扇區
printf("\r\n第%d邏輯扇區數據:",nummber);
for(mm=0;mm<32;mm++)
{
printf("\r\n%03xH ",mm<<4);
for(nn=0;nn<16;nn++)
printf("%02x ",SD_Buffer[(mm<<3)+nn]);
}
printf("\r\n");
}
// while (1)
// {
// delay_ms(SystemCoreClock,1000);
// printf("\r\n串口1測試程序");
// }
}
/**
* @brief Retargets the C library printf function to the USART.
* @param None
* @retval None
*/
PUTCHAR_PROTOTYPE
{
/* Place your implementation of fputc here */
/* e.g. write a character to the USART */
USART_SendData(USART1, (uint8_t) ch); /*發送一個字符函數*/
/* Loop until the end of transmission */
while (USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET)/*等待發送完成*/
{
}
return ch;
}
#ifdef USE_FULL_ASSERT
/**
* @brief Reports the name of the source file and the source line number
* where the assert_param error has occurred.
* @param file: pointer to the source file name
* @param line: assert_param error line source number
* @retval None
*/
void assert_failed(uint8_t* file, uint32_t line)
{
/* User can add his own implementation to report the file name and line number,
ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
/* Infinite loop */
while (1)
{
}
}
#endif
/**
* @}
*/
/**
* @}
*/
/******************* (C) COPYRIGHT 2010 STMicroelectronics *****END OF FILE****/
復制代碼
作者:
阿瓦塞翻譯
時間:
2018-5-28 21:41
不錯哦,學習一下
作者:
scypw
時間:
2018-7-3 13:16
不錯哦,學習一下
作者:
plj213
時間:
2018-7-24 15:31
不錯哦,學習一下
作者:
abcd123.
時間:
2019-3-26 11:14
好東西,學習一下
作者:
godlzm
時間:
2019-7-23 21:51
看下學習下
作者:
牛奶大開發
時間:
2019-9-25 10:50
好東西,學習一下
作者:
52301
時間:
2020-5-11 18:00
不錯,有參考價值
作者:
nmgbtzyf
時間:
2020-7-18 05:51
LZ,給個原圖嘛,
//使能PA時鐘,PC時鐘,SPI1時鐘和APB2復用功能時鐘
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOC, ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_SPI1 | RCC_APB2Periph_AFIO, ENABLE);
//關閉SPI所有相關器件:SD_CS(SD卡),W25_CS(W25X16),T_CS(觸摸屏),N_CS(RF24L01無線模塊)
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_11 | GPIO_Pin_12;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOC, &GPIO_InitStructure);
GPIO_SetBits(GPIOC,GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_11 | GPIO_Pin_12);
//使能SPI1引腳(SCK和MOMI)推挽輸出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5 | GPIO_Pin_7;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_Init(GPIOA, &GPIO_InitStructure);
//使能SPI1引腳(MIMO)上拉輸入
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
GPIO_Init(GPIOA, &GPIO_InitStructure);
雖然有說明,還是不確定-----.C12 是CS,上面的,C9-10-11,是關閉一些外設的,這個必有的嘛
還有,就是,CLK,和MOMI,對應是,A5和7嘛
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
成人国产免费视频
|
成人精品国产一区二区4080
|
福利网站在线观看
|
在线视频 亚洲
|
日韩精品一区二区三区在线播放
|
亚洲国产欧美国产综合一区
|
亚洲综合一区二区三区
|
日干夜干
|
九九热这里只有精品在线观看
|
久久久高清
|
国外成人在线视频网站
|
天堂中文在线播放
|
国产精品免费一区二区三区
|
91av视频
|
大伊人久久
|
人人做人人澡人人爽欧美
|
超碰国产在线
|
亚洲第一av网站
|
久久精品99国产精品日本
|
亚洲欧美视频一区二区
|
精品一二三区视频
|
久久久久久免费毛片精品
|
又黄又色
|
色狠狠一区
|
久久久久久蜜桃一区二区
|
国产成人精品一区二区三区网站观看
|
久草新视频
|
欧美日韩一区二区在线
|
www.久草.com
|
午夜欧美一区二区三区在线播放
|
久久久久久国产精品久久
|
成人亚洲一区
|
日本一区二区三区四区
|
久久www免费人成看片高清
|
美女福利视频网站
|
黑人精品xxx一区一二区
|
激情久久久久
|
午夜不卡福利视频
|
中文字幕亚洲精品
|
欧美日韩精品
|
成年人免费看的视频
|