日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]// SPI引腳初始化void W25X_SPI_Init(void){RCC->APB1ENR |= RCC_APB1ENR_SPI2EN; // 打開(kāi)SPI2的時(shí)鐘RCC->AHBENR |= RCC_AHBENR_GPIOBEN; // 打開(kāi)SPI2對(duì)應(yīng)引腳的時(shí)鐘GPIOB->AFR[1] &= ~0xfff00000; // 開(kāi)引腳復(fù)用功能

// SPI引腳初始化

void W25X_SPI_Init(void)

{

RCC->APB1ENR |= RCC_APB1ENR_SPI2EN; // 打開(kāi)SPI2的時(shí)鐘

RCC->AHBENR |= RCC_AHBENR_GPIOBEN; // 打開(kāi)SPI2對(duì)應(yīng)引腳的時(shí)鐘

GPIOB->AFR[1] &= ~0xfff00000; // 開(kāi)引腳復(fù)用功能對(duì)應(yīng)的功能

// 配置GPIO

// cs口為通用輸出口,手動(dòng)控制cs

GPIOB->MODER &= ~GPIO_MODER_MODER12_1;

GPIOB->MODER |= GPIO_MODER_MODER12_0;

SPI_CS_H;

// 其它引腳為復(fù)用功能

GPIOB->MODER |= (GPIO_MODER_MODER13_1 | GPIO_MODER_MODER14_1 | GPIO_MODER_MODER15_1);

GPIOB->MODER &= ~(GPIO_MODER_MODER13_0 | GPIO_MODER_MODER14_0 | GPIO_MODER_MODER15_0);

GPIOB->PUPDR &= ~(GPIO_PUPDR_PUPDR14_1);

GPIOB->PUPDR |= (GPIO_PUPDR_PUPDR14_0);

GPIOB->OSPEEDR |= (GPIO_OSPEEDER_OSPEEDR12 | GPIO_OSPEEDER_OSPEEDR13 | GPIO_OSPEEDER_OSPEEDR14 | GPIO_OSPEEDER_OSPEEDR15);

// SPI2配置

SPI2->CR2 |= (SPI_CR2_DS_0 | SPI_CR2_DS_1 | SPI_CR2_DS_2 | SPI_CR2_FRXTH); // 8位數(shù)據(jù)模式

SPI2->CR1 |= (SPI_CR1_CPOL | SPI_CR1_CPHA | SPI_CR1_MSTR | SPI_CR1_SSM | SPI_CR1_SSI); // 主機(jī)模式。clk默認(rèn)高電平,第二邊沿驅(qū)動(dòng)(上升沿)

SPI2->CR1 |= SPI_CR1_SPE; // SPI使能

}

// SPI在發(fā)送數(shù)據(jù)的8個(gè)條邊沿的時(shí)間內(nèi),也接受了8位數(shù)據(jù)

// SPI可以發(fā)送和接受在同一個(gè)8段跳邊沿之內(nèi)

unsigned char W25X_Write_And_Read_Dat(unsigned char write_dat_temp)

{

unsigned char read_dat_temp;

while(!(SPI2->SR & SPI_SR_TXE));

*(__IO uint8_t *)((uint32_t)SPI2+0x0c) = write_dat_temp; // 發(fā)送8位數(shù)據(jù)

while(!(SPI2->SR & SPI_SR_RXNE));

read_dat_temp = *(__IO uint8_t *)((uint32_t)SPI2+0x0c); // 接受8位數(shù)據(jù)

return read_dat_temp;

}


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

寫(xiě)在前面的話(huà):STM32F0項(xiàng)目進(jìn)階系列是硬件系統(tǒng)工程師星克曼以項(xiàng)目進(jìn)階的方式寫(xiě)出的入門(mén)教程,以項(xiàng)目開(kāi)發(fā)為藍(lán)底,快速學(xué)習(xí)進(jìn)入實(shí)戰(zhàn)。STM32 I2C總線在上一講 STM32F0項(xiàng)目進(jìn)階之I2C 中已經(jīng)講過(guò)了,已經(jīng)將標(biāo)準(zhǔn)...

關(guān)鍵字: stm32f0 實(shí)時(shí)時(shí)鐘 ds1307

// 引腳 PA0 的外部中斷配置void Key_GPIO_Init(void){// 設(shè)置 PA0 口為上拉輸入模式RCC->AHBENR |= RCC_AHBENR_GPIOAEN; // 打開(kāi)該引腳的GPI...

關(guān)鍵字: exti stm32f0 外部中斷配置

1 void SPIx_Init(void)2 { 3 RCC->APB2ENR|=1ODR|=0X7

關(guān)鍵字: spi初始化 STM32

//Cortex-M0內(nèi)核中斷向量共有48個(gè)。//由于M0內(nèi)核不具有M3、M4內(nèi)核的中斷向量表重定位功能,須采用以下方式解決IAP向量問(wèn)題:// 1:復(fù)制用戶(hù)代碼中的中斷向量表到SRAM首地址// 2: 開(kāi)啟SRAM...

關(guān)鍵字: iap stm32f0 中斷向量表 用戶(hù)程序

前言:正文:所有USART設(shè)置都設(shè)置了1,時(shí)鐘,enable2,IO配置,AF,PP,3,在while里循環(huán)發(fā)送0x55我在示波器里頭看到了初始都是高電平,然后一低一高一低一高,重復(fù)10次,后來(lái)孔工給我看手冊(cè),告訴我說(shuō),...

關(guān)鍵字: stm32f0 usart通訊

1 前言STSW-STM32116是ST官網(wǎng)基于標(biāo)準(zhǔn)庫(kù)的針對(duì)STM32F0的USART進(jìn)口IAP示例程序,下載鏈接:http://www.stmcu.org/document/detail/index/id-213120...

關(guān)鍵字: stm32f0 在線升級(jí) usart接口

void Flash_Init(void){// 調(diào)整flash與時(shí)鐘速率之間的關(guān)系FLASH->ACR |= FLASH_ACR_LATENCY;}void Flash_Unlock(void){// FLASH...

關(guān)鍵字: stm32f0 片內(nèi)flash

STM32F0與STM32F1的GPIO是不同的,細(xì)說(shuō)比較亂,直接上圖。STM32F1的GPIO基本結(jié)構(gòu):從圖上看STM32f1輸入只有上下拉,輸出有開(kāi)漏和推挽。STM32F0的GPIO基本結(jié)構(gòu):從圖上看STM32f0輸...

關(guān)鍵字: gpio stm32f0 stm32f1

在STM32F10x系列芯片中,雖然所擁有的SPI同步串口數(shù)量不相同,但是初始化的方法都是一樣的。其中使用SPI時(shí)候我們回憶GPIO的使用,要注意6點(diǎn),我們這里主要講解一點(diǎn)。根據(jù)系統(tǒng)對(duì)該不同功能的要求,初始化不同功能外設(shè)

關(guān)鍵字: spi初始化 STM32

PWR->CR |= 0x01; // 低功耗時(shí)關(guān)閉電壓調(diào)節(jié)SCB->SCR |= 0x04; // 開(kāi)啟深度睡眠接下來(lái)只要 _ _ WFI();就立即進(jìn)入休眠模式,外部中斷可喚醒。喚醒之后全部都初始化了想用...

關(guān)鍵字: sleep stm32f0
關(guān)閉