
GPIO是STM32最常用的設(shè)備之一。STM32可以提供最多達80個雙向IO口(視型號而定),他們分別分布在A-E五個端口中。每個端口有16個IO,每個IO口都可以承受最大為5V壓降。通過GPIO的配置寄存器,我們可以把GPIO口配置成我
如果出現(xiàn)這個錯誤,請增加預(yù)編譯內(nèi)容:USE_STDPERIPH_DRIVER如圖
void SPI_RCC_config(void){ RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_SPI1,ENABLE);}void SPI_GPIO_config(void){ GPIO_InitTypeDef GPIO_InitStructure;;G
STM32的USB雙緩存接收代碼其實已經(jīng)可以在ST提供的USB示例代碼中找到,只要稍加修改,就可以得到將近1MB的數(shù)據(jù)接收性能。雖然Datasheet中說明USB發(fā)送也同樣可以使用雙緩存,但并沒有示例代碼,由于為了測試性能,自己
簡介: 3.3V供電,IO端口最高支持5V,提供兩個接口,一個是可以以8、16、32這三種不同的方式與處理器相連接的接口,一個是與EEPROM連接的I2C接口,如此在外接的EEPROM中可以存放要緩存的數(shù)據(jù)信息。此外,DM9000內(nèi)部有
型號選擇:在stm32f10x.h中,涉及芯片型號選擇,如圖:用的為哪個芯片,把芯片去掉注釋即可。具體芯片選型,參考程序下面注釋外部高速時鐘的頻率設(shè)定,也是在stm32f10x.h 中:此后的設(shè)定工作,要在system_stm32f10x.c
STM32(Cortex-M3)中有兩個優(yōu)先級的概念——搶占式優(yōu)先級和響應(yīng)優(yōu)先級,有人把響應(yīng)優(yōu)先級稱作'亞優(yōu)先級'或'副優(yōu)先級',每個中斷源都需要被指定這兩種優(yōu)先級。具有高搶占式優(yōu)先級的中斷可以在具有低搶
看了幾篇博客之后,對這個定時器也有了一些認(rèn)識,其實和51差不多,就是配置定時器的時候多了幾個步驟而已。其中很好的一片是:http://blog.sina.com.cn/s/blog_49cb42490100s6ud.htmlSTM32中一共有11個定時器,其中2
復(fù)位:復(fù)位所有外設(shè) RCC->APB1RSTR = 0x0000 0000RCC->APB2RSTR = 0x0000 0000關(guān)閉所有外設(shè)時鐘 RCC->AHBENR = 0x0000 0014RCC->APB1ENR = 0x0000 0000RCC->APB2ENR = 0x0000 0000RCC->CR:打開 HSI,關(guān)閉 PLLON,HS
首先 時鐘是STM32單片機的脈搏,是單片機的驅(qū)動源。使用任何一個外設(shè)都必須打開相應(yīng)的時鐘。這樣的好處就是,如果不使用一個外設(shè)的時候,就把它的時鐘關(guān)掉,從而可以降低系統(tǒng)的功耗,達到節(jié)能,實現(xiàn)低功耗的效果。1.
本文主要簡單介紹CAN總線的相關(guān)概念,以及通信協(xié)議等知識,和使用STM32自帶的bxCAN外設(shè)進行CAN總線編程實驗,以及編程心得。1. CAN總線簡要介紹概念:CAN是控制器局域網(wǎng)絡(luò)(Controller Area Network, CAN)的簡稱,是由
//USARTvoid UART2_Configuration(void){ GPIO_InitTypeDef GPIO_InitStructure; USART_InitTypeDef USART_InitStructure; USART_ClockInitTypeDef USART_ClockInitStructure; RCC_APB1PeriphClockCmd(RCC_APB1P
/*******************************************************************************固件函數(shù)庫通過檢查庫函書的輸入來實現(xiàn)運行時間錯誤偵測。通過使用宏assert_param來實現(xiàn)運行時間檢測。所有要求輸入?yún)?shù)的函數(shù)都
//原帖http://bbs.elecfans.com/forum.php?mod=viewthread&tid=445463//在學(xué)習(xí)過程中發(fā)現(xiàn)幾處編譯錯誤,并改正;//主要貼出定義、和中斷函數(shù)部分;uint8_t usart_rx_buf[5][40]; //接收緩沖,最大40個字節(jié)uint8_t us
這次要講講如何用USB升級單片機代碼。以前曾經(jīng)做過串口升級,網(wǎng)絡(luò)升級,升級的基本原理都類似,只不過升級的工具不同罷了,串口升級當(dāng)然是用串口了,網(wǎng)絡(luò)升級用的是TCP/IP,USB升級當(dāng)然用的是USB了。下面就來講講USB
描述:用ADC連續(xù)采集11路模擬信號,并由DMA傳輸?shù)絻?nèi)存。ADC配置為掃描并且連續(xù)轉(zhuǎn)換模式,ADC的時鐘配置為12MHZ。在每次轉(zhuǎn)換結(jié)束后,由DMA循環(huán)將轉(zhuǎn)換的數(shù)據(jù)傳輸?shù)絻?nèi)存中。ADC可以連續(xù)采集N次求平均值。最后通過串口傳
說明:GPIOA,GPIO_Pin_0對應(yīng)key1;GPIOA,GPIO_Pin_1對應(yīng)key2;GPIOA,GPIO_Pin_2對應(yīng)LED1;GPIOA,GPIO_Pin_3對應(yīng)LED2#include"stm32f10x.h"#include"stm32f10x_rcc.h"#include"stm32f10x_gpio.h"#include"system_stm3
STM32的RTC晶振,我百度全網(wǎng),總結(jié)如下軟件: 在以前很多的程序里 在rtc中斷里 都沒有 RTC_WaitForLastTask();這個語句。 加上即可硬件: 常規(guī)配置 6p晶振加兩個10p電容 不要并聯(lián)電阻并聯(lián)了反而不起振==============
最近在調(diào)試編碼器,用的貌似是官方給出的例程,但是在做pid的時候遇到困難,不知道該如何在此基礎(chǔ)上實現(xiàn)pid,有大神指教嗎?#define ENCODER_TIMERTIM3// Encoder unit connected to TIM3#define ENCODER_TIM_PERIOD
main.c配置:/**說明:*PA0:KEY1;PA1:KEY2;*PA2:LED1;PA3:LED2;*PA9:USART1_TX;PA10:USART1_RX*/#include"stm32f10x.h"#include"stm32f10x_rcc.h"#include"stm32f10x_gpio.h"#include"stm32f10x_usart.h"#include"st