串口設(shè)置的一般步驟可以總結(jié)為如下幾個(gè):1) 串口時(shí)鐘使能, GPIO時(shí)鐘使能2) 串口復(fù)位3)GPIO 端口模式設(shè)置4) 串口參數(shù)初始化5) 開(kāi)啟中斷并且初始化 NVIC(如果需要開(kāi)啟中斷才這個(gè)步驟) (如果需要開(kāi)啟中斷才這個(gè)步驟
一、外設(shè)常具備的幾類寄存器控制寄存器xxx_CR (Control/Configuration Register): 用來(lái)配置、控制響應(yīng)外設(shè)的工作方式,如GPIOx_CRL、AFIO_EXTICR1~AFIO_EXTICR4。數(shù)據(jù)寄存器xxx_DR (Data Register) : 存儲(chǔ)量外設(shè)進(jìn)行
USE_STDPERIPH_DRIVER, STM32F10X_HDSTM32固件庫(kù)Libraries\\CMSIS\\Core\\CM3\\startup\\arm中啟動(dòng)文件的文件名英文縮寫(xiě)意義:cl:互聯(lián)型產(chǎn)品, stm32f105/107 系列vl:超值型產(chǎn)品, stm32f100 系列xl:超高密度(容量)
(1)_chkfloat_:函數(shù)定義:unsigned char _chkfloat_ ( float val); /* number to check */函數(shù)功能:_chkfloat_函數(shù)檢查浮點(diǎn)數(shù) val 的類型。返回值:_chkfloat_函數(shù)返回浮點(diǎn)數(shù) val 的類型。返回值意義0標(biāo)準(zhǔn)浮點(diǎn)數(shù)
I2C總線是由NXP(原PHILIPS)公司設(shè)計(jì),有十分簡(jiǎn)潔的物理層定義,其特性如下:只要求兩條總線線路:一條串行數(shù)據(jù)線SDA,一條串行時(shí)鐘線SCL;每個(gè)連接到總線的器件都可以通過(guò)唯一的地址和一直存在的簡(jiǎn)單的主機(jī)/從機(jī)關(guān)系
3.2 STDIO.H:一般I/O函數(shù)C51編譯器包含字符I/O函數(shù),它們通過(guò)處理器的串行接口操作,為支持其它I/O機(jī)制,只需修改getkey()和putchar()函數(shù),其它所有I/O支持函數(shù)依賴這兩個(gè)模塊,不需要改動(dòng)。在使用8051串行口之前,
STM32中GPIO的配置風(fēng)格和以往研究的MCU有很大的不同,研究了好一段時(shí)間才搞通。typedef enum{ GPIO_Mode_AIN = 0x0,GPIO_Mode_IN_FLOATING = 0x04,GPIO_Mode_IPD = 0x28,GPIO_Mode_IPU = 0x48,GPIO_Mode_Out_OD = 0x
我接觸的32位單片機(jī):STM32,LM3S都有庫(kù)函數(shù),利用庫(kù)函數(shù)能夠加快項(xiàng)目進(jìn)度,不需要去底層查看寄存器等等。PIC32的庫(kù)函數(shù)位置在:D:\\Program Files\\Microchip\\MPLAB C32\\pic32-libs\\peripheral如果你安裝在C盤(pán),改下路
STM32F4Discovery開(kāi)發(fā)幫使用的STM32F407VGT6芯片,內(nèi)部FLASH有1M之多。平時(shí)寫(xiě)的代碼,燒寫(xiě)完之后還有大量的剩余。有效利用這剩余的FLASH能存儲(chǔ)不少數(shù)據(jù)。因此研究了一下STM32F4讀寫(xiě)內(nèi)部FLASH的一些操作?!維TM32F4 內(nèi)
1.C語(yǔ)言宏定義技巧(常用宏定義)1,防止一個(gè)頭文件被重復(fù)包含#ifndef COMDEF_H#define COMDEF_H//頭文件內(nèi)容#endif2,重新定義一些類型,防止由于各種平臺(tái)和編譯器的不同,而產(chǎn)生的類型字節(jié)數(shù)差異,方便移植.typedef unsig
void SPI_Init(void){ GPIO_InitTypeDef GPIO_InitStruct; SPI_InitTypeDef SPI_InitStruct; /*!< SPI_CS_GPIO, SPI_MOSI_GPIO, SPI_MISO_GPIO, SPI_SCK_GPIO Init */ RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOF|
C51強(qiáng)大功能及其高效率的重要體現(xiàn)之一在于其豐富的可直接調(diào)用的庫(kù)函數(shù),多使用庫(kù)函數(shù)使程序代碼簡(jiǎn)單,結(jié)構(gòu)清晰,易于調(diào)試和維護(hù),下面介紹C51的庫(kù)函數(shù)系統(tǒng)。第一節(jié) 本征庫(kù)函數(shù)(intrinsic routines)和非本征證庫(kù)函數(shù)C
LED即發(fā)光二極管,具有單向?qū)щ娦?。電路圖如下,LED與1K電阻串聯(lián)在5V與0V之間,即可點(diǎn)亮LED,電阻起限流作用?,F(xiàn)在我們來(lái)學(xué)習(xí)用單片機(jī)的IO(輸入輸出)引腳來(lái)點(diǎn)亮LED,用PC1引腳代替VCC,PC1輸出高電平點(diǎn)亮LED,輸出
GPIO_Init函數(shù)是IO引腳的初始化函數(shù),進(jìn)行個(gè)個(gè)引腳的初始化配置,主要接受兩個(gè)參數(shù),一個(gè)是配置引腳組(GPIO_TypeDef* GPIOx),一個(gè)是配置的參數(shù)(GPIO_InitTypeDef* GPIO_InitStruct),具體如下void GPIO_Init(GPIO_
固件庫(kù)文件分析:1-匯編編寫(xiě)的啟動(dòng)文件startup_stm32f10x_hd.s:設(shè)置堆棧指針、設(shè)置PC指針、初始化中斷向量表、配置系統(tǒng)時(shí)鐘、對(duì)用C庫(kù)函數(shù)_main最終去到C的世界2-時(shí)鐘配置文件system_stm32f10x.c:把外部時(shí)鐘HSE=8M,
C-51軟件包的庫(kù)包含標(biāo)準(zhǔn)的應(yīng)用程序,每個(gè)函數(shù)都在相應(yīng)的頭文件(.h)中有原型聲明。如果使用庫(kù)函數(shù),必須在源程序中用預(yù)編譯指令定義與該函數(shù)相關(guān)的頭文件(包含了該函數(shù)的原型聲明)。例如:#include#include如果省
stm32共有19個(gè)外部中斷:線0~15:對(duì)應(yīng)外部I/O口的輸入中斷線16:連接到PVD輸出。PVD(Programmable Votage Detector),即可編程電壓監(jiān)測(cè)器。作用是監(jiān)視供電電壓,在供電電壓下降到給定的閥值以下時(shí),產(chǎn)生一個(gè)中斷,通
3.3 STRING.H:串函數(shù)串函數(shù)通常將指針串作輸入值。一個(gè)串就包括2個(gè)或多個(gè)字符。串結(jié)以空字符表示。在函數(shù)memcmp,memcpy,memchr,memccpy,memmove和memset中,串長(zhǎng)度由調(diào)用者明確規(guī)定,使這些函數(shù)可工作在任何模式
1,系統(tǒng)工作頻率設(shè)置 STM32系統(tǒng)工作頻率設(shè)置寄存器版和庫(kù)函數(shù)版相差較大。庫(kù)函數(shù)版本系統(tǒng)工作頻率通過(guò)system_stm32f10x.c 中的SystemInit()函數(shù)進(jìn)行設(shè)置,其他的配置主要在stm32f10x_rcc.c文件中。對(duì)于系統(tǒng)時(shí)鐘,默認(rèn)
一、背景 如前文所述,利用標(biāo)準(zhǔn)庫(kù)函數(shù)的好處在于,可以快速開(kāi)發(fā),不用去對(duì)著數(shù)據(jù)手冊(cè),小心翼翼的一位一位的配置那些繁復(fù)的寄存器,因?yàn)檫@些工作意法半導(dǎo)體已經(jīng)找了一些頂級(jí)的工程師幫你做了,杰作既是其庫(kù)函數(shù)。當(dāng)