
根據(jù)小苗開發(fā)板例程,修改得好用的讀寫FM24CL16的2K bytes代碼,分享給大家。小苗開發(fā)板的程序有點問題,I2C_Read()里最后產(chǎn)生stop條件時間不對;另外FM24CL16是11位地址的,在I2C_Write()里也應(yīng)體現(xiàn)出來。先貼代碼,
一 概述 很多人都知道stm32的硬件I2C存在BUG,現(xiàn)在我們通過軟件模擬時序的辦法來實現(xiàn)I2C。 使用軟件模擬I2C主要是方便程序的移植,只需要更改一下相應(yīng)的IO端口即可。二 軟件模擬實現(xiàn)1 起始信號voidi2c_Start(void){ma
今天在學(xué)習(xí)mpu6050的時候,發(fā)現(xiàn)程序出現(xiàn)了看門狗的程序,其實這個在學(xué)習(xí)51的時候就應(yīng)該了解的,但是我并沒有去了解。導(dǎo)致現(xiàn)在學(xué)習(xí)32,其實就是在補之前的51。首先,我想把文章最后一句放到開始寫出來:總結(jié)一下,就個
0 引言隨著集成電路的發(fā)展和數(shù)字信號處理技術(shù)的采用,數(shù)字示波器已成為集顯示、測量、運算、分析、記錄等各種功能于一體的智能化測量儀器。數(shù)字示波器在性能上也逐漸超越模擬示波器,并有取而代之的趨勢。與模擬示波
實驗:控制串口一以DMA方式發(fā)送(TX)數(shù)據(jù)一、初始化DMA 對STM32任何模塊使用前都要對其初始化、首先就是初始化外設(shè)時鐘,查看時鐘數(shù)可知DMA時鐘由AHB得來。初始化時鐘:RCC->AHBENR"=1CNDTR=cndtr;//DMA1,傳輸數(shù)
本文分為兩部分,即”以USART1為例的串口初始化”和“調(diào)試中遇到的問題”以USART1為例的串口初始化本程序調(diào)用了stm32自帶的固件庫,工程中具體的文件見下圖:一.GPIO及USART1初始化結(jié)構(gòu)體變量定義GPIO_InitTypeD
C代碼//GPIOA8是LED0//GPIOA13是KEY0僅包含啟動代碼STM32F10x.s#defineGPIOA_CRL(*(volatileunsignedlong*)(0x40000000+0x10000+0x0800+0x00))#defineGPIOA_CRH(*(volatileunsignedlong*)(0x40000000+0x10000+0x0800
先來點題外話~網(wǎng)上說STM32F103的IIC有瑕疵!就當是有些短板吧,個人覺得,用起來肯定沒問題,只是不好用。人家說ST公司考慮到專利問題,沒按飛利浦的標準來。導(dǎo)致STM32的IIC使用起來非常繁雜。下面就講講用STM32 IO口
入手stm32以來,一直想快速上手,所以在各大論壇閑逛,各個達人的blog上學(xué)習(xí),正所謂欲速則不達,心急是吃不了熱豆腐的!有木有?最終決定使用st官網(wǎng)的庫開發(fā),據(jù)大俠們寫道使用庫可以快速上手,貌似的確如此,一個個
首先說下我使用飛、高級定時器的一些坑爹經(jīng)歷,由于開始高級定時器使用不當,造成有如下問題:1、PWM輸出占空比反向(這個也還能接受點)2、程序燒進去了就不能燒第二次了,下載時候提示如下圖(這個夠坑爹的了)錯誤
任務(wù)目的使用EXTI(External Interrupt)外部中斷方式, 通過中斷服務(wù)函數(shù)對GPIO口進行控制, 使得LED燈可以進行亮滅翻轉(zhuǎn).原理圖分析問題分析結(jié)束之后還是先來看原理圖的分析.首先是LED燈部分:由圖中可知, 若要控制紅燈
時鐘系統(tǒng)是處理器的核心,所以在學(xué)習(xí)STM32所有外設(shè)之前,認真學(xué)習(xí)時鐘系統(tǒng)是必要的,有助于深入理解STM32。下面是從網(wǎng)上找的一個STM32時鐘框圖,比《STM32中文參考手冊》里面的是中途看起來清晰一些:重要的時鐘: PL
一、環(huán)境:公司所采用的是STM32F103RBT6芯片,本人開發(fā)是基于官方提供的V3.5.0的函數(shù)庫。二、所要實現(xiàn)的功能是:1.開發(fā)板能夠?qū)W習(xí)由遙控器發(fā)送來的紅外碼,并在串口上打印出來。2.上位機通過串口程序,發(fā)送學(xué)習(xí)來的碼
Static申明的局部變量,存儲在靜態(tài)存儲區(qū)。它在函數(shù)調(diào)用結(jié)束之后,不會被釋放。它的值會一直保留下來。所以可以說static申明的局部變量,具有記憶功能。按鍵掃描(支持連續(xù)按)的一般思路u8 KEY_Scan(void){if(KEY按
STM32調(diào)試過程中常見的問題及解決方法 一、 在“Debug選項卡”下設(shè)置好仿真器的類型后,下載程序時卻提示“No ULINK Device found.”解決辦法: Keil MDK默認使用ULINK仿真器下載程序,在“Project --->Option for T
1、通訊協(xié)議。I2C是PHILIPS公司開發(fā)的兩線式串行總線,屬于同步半雙工。數(shù)據(jù)有效在傳輸數(shù)據(jù)的時候,SDA線必須在時鐘的高電平周期保持穩(wěn)定,SDA的高或低電平狀態(tài)只有在SCL 線的時鐘信號是低電平時才能改變 。起始停止
1.LCD/LCM的基本概念液晶顯示器(Liquid Crystal Display: LCD)的構(gòu)造是在兩片平行的玻璃當中放置液態(tài)的晶體,兩片玻璃中間有許多垂直和水平的細小電線,透過通電與否來控制桿狀水晶分子改變方向,將光線折射出來產(chǎn)生
由于項目產(chǎn)品的需要,只能設(shè)置一個按鍵,但是需要實現(xiàn)短按(即單擊)切換工作模式、長按開關(guān)機、雙擊暫停等復(fù)用功能。下圖是三種情況下的按鍵波形。按鍵未按下時是高電平,按下去是低電平。按鍵單擊時,判斷時間門檻
1、新建工程,然后選擇芯片型號。選定芯片后添加啟動文件.s文件。2、將文件添加組進行分類:其中包含ASM組、USR組、FWlib組合CMSYS組。lASM組為.s啟動文件;lUSR組為用戶程序文件組,一般至少需要有main.c,如需要使
說到STM32的FLSAH,我們的第一反應(yīng)是用來裝程序的,實際上,STM32的片內(nèi)FLASH不僅用來裝程序,還用來裝芯片配置、芯片ID、自舉程序等等。當然, FLASH還可以用來裝數(shù)據(jù)。 自己收集了一些資料,現(xiàn)將這些資料總結(jié)了一下