STM32里面STACK 和 HEAP ,前者為堆,后者為棧。今天在調(diào)試一段向Server發(fā)送程序的時(shí)候:出現(xiàn)一個(gè)奇怪的現(xiàn)象:fun(){ fun1( ); //初始化 fun2( ); //鏈接遠(yuǎn)程服務(wù)器 fun3( ); //發(fā)送數(shù)據(jù)}整體運(yùn)行的時(shí)候,運(yùn)行到fun3
STM32的四種輸入方式1、上拉輸入(GPIO_Mode_IPU)上拉輸入就是信號(hào)進(jìn)入芯片后加了一個(gè)上拉電阻,再經(jīng)過施密特觸發(fā)器轉(zhuǎn)換成0、1信號(hào),讀取此時(shí)的引腳電平為高電平;2、下拉輸入(GPIO_Mode_IPD)下拉輸入就是信號(hào)進(jìn)入
學(xué)習(xí)STM32也有些日子了。作為初學(xué)者,從最初的一無所知,到現(xiàn)在略知皮毛之皮毛,感覺著實(shí)不容易。下面把自己的體會(huì)以及自認(rèn)為初學(xué)者不易掌握的要點(diǎn)和大家分享一下,有錯(cuò)誤的地方,歡迎大家指正。一、關(guān)于學(xué)習(xí)方法
STM32 外部計(jì)數(shù)ETR計(jì)算頻率,測(cè)量100K頻率,用定時(shí)器2定時(shí)250ms,定時(shí)器3PD2(TIM3_ETR)計(jì)數(shù),計(jì)算公式f=n*t;void Tim3_Configuration(void){ TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;TIM_TimeBaseStructur
STM32的PA.8引腳具有復(fù)用功能——時(shí)鐘輸出(MCO), 該功能能將STM32內(nèi)部的時(shí)鐘通過PA.8輸出.操作流程: 1)、設(shè)置PA.8為復(fù)用Push-Pull模式。 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8; GPIO_InitStructure.GPIO_Spee
使用TIM2輸出PWM來驅(qū)動(dòng)舵機(jī)轉(zhuǎn)動(dòng),使用TIM2CH3 (PB11引腳)輸出驅(qū)動(dòng)波形,通過數(shù)據(jù)手冊(cè)知道,PB10默認(rèn)的復(fù)用功能為USART3_TX,可以通過重映射作為TIM2_CH3用。TIM2_CH3按照如下步驟配置為PWM輸出模式:1、配置時(shí)鐘、管腳
一、外設(shè)常具備的幾類寄存器控制寄存器xxx_CR (Control/Configuration Register): 用來配置、控制響應(yīng)外設(shè)的工作方式,如GPIOx_CRL、AFIO_EXTICR1~AFIO_EXTICR4。數(shù)據(jù)寄存器xxx_DR (Data Register) : 存儲(chǔ)量外設(shè)進(jìn)行
/***********************************************************通過定時(shí)器TIM3產(chǎn)生間隔時(shí)間為1秒的中斷,在中斷響應(yīng)函數(shù)中控制LED發(fā)光二級(jí)管,實(shí)現(xiàn)流水燈效果****************************************************
stm32f030開發(fā)板。使用HAL庫。狀態(tài)機(jī)做debounce消抖。col列,Pin配置為PP推挽輸出模式;row行,Pin配置為Input模式,啟用內(nèi)部上拉電阻。代碼如下:.h文件/***Name:keypad.h*Faq:www.mazclub.com*/#ifndefKEYPAD_H#de
STM32 TIM8初始化的配置與通用定時(shí)器的配置不同,我最開始時(shí)按照通用定時(shí)器配置,無論是配置一個(gè)通道,還是配置所有通道,死活不出來pwm。接著查資料說要添加這一句代碼:TIM_CtrlPWMOutputs(TIM8,ENABLE),添加后只
前些日子,因?yàn)樾枰赟TM32F103系列處理器上,對(duì)采集的音頻信號(hào)進(jìn)行FFT,所以花了一些時(shí)間來研究如何高效并精確的在STM32F103系列處理器上實(shí)現(xiàn)FFT。在網(wǎng)上找了很多這方面的資料做實(shí)驗(yàn)并進(jìn)行比較,最終選擇了使用
STM32 I/O的耐壓?jiǎn)栴}STM32 I/O的耐壓?jiǎn)栴} STM32并不是如手冊(cè)所言,絕大部都是耐5V電壓的,具體的要參考數(shù)據(jù)手冊(cè)——我就是輕信了網(wǎng)絡(luò)上話,犯錯(cuò)誤了。 STM32f103c8的I/O耐壓分布是這樣的: 1~19 :3.3V 20~22 :5.0V
一、實(shí)驗(yàn)?zāi)康腟TM32 通過串口和上位機(jī)的對(duì)話,STM32 在收到上位機(jī)發(fā)過來的字符串后,原原本本的返回給上位機(jī)。二、STM32串口簡(jiǎn)介STM32F103ZET6 最多可提供 5 路串口,有分?jǐn)?shù)波特率發(fā)生器、支持同步單線通信和半雙工單
stm32盡管所有的gpio都可以設(shè)置為外部中斷的功能,但是不能把所有的gpio同時(shí)設(shè)置為外部中斷。例如不能把PA0和PB0同時(shí)設(shè)置為外部中斷,因?yàn)镻A0和PB0共用一個(gè)中斷線,MCU只把最后完成初始化的管腳設(shè)置為外部中斷。如果
從書上看到STM32的硬件IIC遠(yuǎn)沒有硬件SPI好用,書上給的例子也是模擬IIC的,因?yàn)橹爸挥眠^51的準(zhǔn)雙向口控制過簡(jiǎn)單的IIC器件,所以好好看了下。IIC總線是由數(shù)據(jù)線SDA和時(shí)鐘線SCL兩條線構(gòu)成的通信線路,既可以發(fā)送數(shù)據(jù)
## STM32的IO口基本操作 ##voidLED_GPIO_Config(void){/*定義一個(gè)GPIO_InitTypeDef類型的結(jié)構(gòu)體*/GPIO_InitTypeDefGPIO_InitStructure;/*開啟GPIOC的外設(shè)時(shí)鐘*/RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE)
首先明白復(fù)位是一個(gè)很重要的部分,復(fù)部分設(shè)計(jì)的好壞關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定。一般來說,STM32F10系列芯片都具有系統(tǒng)復(fù)位,電源復(fù)位和備份區(qū)域復(fù)位。這里分開說明三種復(fù)位的基本知識(shí)點(diǎn)。系統(tǒng)復(fù)位中,系統(tǒng)復(fù)位將復(fù)位除時(shí)
STM32定時(shí)器編碼器模式計(jì)算減速電機(jī)AB相脈沖個(gè)數(shù),通過 AB相脈沖的上升沿和下降沿觸發(fā),然后計(jì)數(shù)器加一,那么如果檢測(cè)到一個(gè)周期,有AB兩相,兩個(gè)上升沿兩個(gè)下降沿的話,計(jì)數(shù)器就會(huì)四個(gè) 加一 。#ifndef __TIMER_H#de
1.前言 【1】其實(shí)說不上移植筆記,F(xiàn)reeRTOS已經(jīng)移植至眾多平臺(tái)(MCU),包括MSP430,STM32等,這份筆記完全建立在官方代碼的基礎(chǔ)之上,簡(jiǎn)單的說就是修改一些設(shè)置從而完成一個(gè)呼吸燈實(shí)驗(yàn)。 【2】雖然有官方移植代碼
由于要采集電壓、電流以計(jì)算功率、阻抗等信息,STM32的同步規(guī)則模式很適合于這種情景。使用時(shí)有幾點(diǎn)需要注意的:1、選擇正確的模式:ADC_Mode_RegSimult,即DUALMOD[3:0] = 0110,ADC2在雙模式中,這些位為保留位2、