1 前言客戶(hù)反饋在使用STM32F205的串口工作在DMA模式時(shí),有時(shí)能夠接收數(shù)據(jù),有時(shí)完全沒(méi)有數(shù)據(jù),但如果換成中斷模式來(lái)接收又能100%正常收到數(shù)據(jù)。2 復(fù)現(xiàn)現(xiàn)象2.1 問(wèn)題背景與客戶(hù)溝通,客戶(hù)使用的是STM32F2標(biāo)準(zhǔn)庫(kù)V1.1.0,
1.硬件原理I2C總線(xiàn)是PHLIPS公司推出的一種串行總線(xiàn),是具備多主機(jī)系統(tǒng)所需的包括總線(xiàn)裁決和高低速器件同步功能的高性能串行總線(xiàn)。I2C總線(xiàn)只有兩根雙向信號(hào)線(xiàn)。一根是數(shù)據(jù)線(xiàn)SDA,另一根是時(shí)鐘線(xiàn)SCL。I2C總線(xiàn)通過(guò)上拉電
1.以2400bps從計(jì)算機(jī)發(fā)送任一字節(jié)數(shù)據(jù),當(dāng)單片機(jī)收到該數(shù)據(jù)后,將其送到數(shù)碼管顯示,在此數(shù)據(jù)前加上一序號(hào)然后連同此數(shù)據(jù)一起發(fā)送至計(jì)算機(jī),當(dāng)序號(hào)超過(guò)255時(shí)歸零。#include #define uchar unsigned char#define uint
首先介紹下寄存器,一共有6個(gè)寄存器分別是:1、TRIS寄存器:設(shè)置數(shù)字引腳輸入還是輸出;置1配置輸入(默認(rèn));清0配置輸出,和51相反。2、LAT寄存器:寫(xiě)端口值3、PORT寄存器:讀端口值4、CLR寄存器:清05、SET寄存器
1.在對(duì)GPIOx_ODR的個(gè)別位進(jìn)行編程時(shí),軟件不需要禁止中斷。2.GPIO具有鎖定機(jī)制。主要是在一些關(guān)鍵引腳上為了防止程序跑掉而引起不必要的后果。3.GPIO的庫(kù)函數(shù)問(wèn)題,GPIO_SetBits:置所選端口的一個(gè)或者多個(gè)位高;GPIO
STM32F103RBT6定時(shí)器Timer2的使用。復(fù)制代碼這里說(shuō)下定時(shí)器定時(shí)時(shí)間:(1)STM32時(shí)鐘為:72MHz,則每次振蕩時(shí)間為:T=1/f=1/72MHz,振蕩72M個(gè)周期才為:1S(2)分頻數(shù):72M/20000-1 因?yàn)閺?開(kāi)始,其實(shí)就是:72M/2000
在STM32中,有五個(gè)時(shí)鐘源,為HSI、HSE、LSI、LSE、PLL。①HSI是高速內(nèi)部時(shí)鐘,RC振蕩器,頻率為8MHz。②HSE是高速外部時(shí)鐘,可接石英/陶瓷諧振器,或者接外部時(shí)鐘源,頻率范圍為4MHz~16MHz。③LSI是低速內(nèi)部時(shí)鐘,RC
在HCS12系列單片機(jī)中,加密可以分成兩種方法:完全加密和使用密碼的加密。這兩種加密的方法根據(jù)用戶(hù)的需求,使用的場(chǎng)合也有所不同?! ⊥耆用堋 ∷^完全加密,就是將芯片徹底的保護(hù)起來(lái),屏蔽對(duì)芯片的所有讀操作
PIC系列8位單片機(jī)為適應(yīng)各種不同的用途,有多種型號(hào)可供選用。但是,盡管PIC單片機(jī)有不同的檔次和型號(hào),但其最基本的組成則大同小異。因此,在這里先從型號(hào)PIC16F84的單片機(jī)入手,討論其基本組成。PI
PORTB的功能基本就是普通IO,但它在其他方面有其他引腳不具備的特點(diǎn),PORTB的每一個(gè)引腳在作為輸入時(shí),內(nèi)部都有一個(gè)弱上拉可用。PORTB的RB0可以作為一個(gè)外部中斷信號(hào)輸入,可以對(duì)輸入信號(hào)的上升沿或下降沿跳變產(chǎn)生一
寫(xiě)過(guò)一段時(shí)間單片機(jī)程序,也看了一些單片機(jī)程序,書(shū)上的,網(wǎng)上的,基本都是非常原始的讀取按鍵,延時(shí)判斷,這些按鍵相關(guān)代碼穿插于整個(gè)程序,著實(shí)不夠美觀(guān),最重要的是不能復(fù)用,so俺就想做個(gè)按鍵框架,只需提供按鍵
sbit DQ=P3^7; //DS18B20數(shù)據(jù)傳輸線(xiàn)接單片機(jī)的相應(yīng)的引腳void delaymm(uint z){ uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--);}//向DS18B20讀一字節(jié)數(shù)據(jù) ,從低位開(kāi)始讀ReadOneChar(void) { unsigned char i=0;
寫(xiě)在前面:這篇文章已經(jīng)寫(xiě)的很詳細(xì)了。主要參考的就是正果過(guò)程,如果要是移植bootloader的話(huà)應(yīng)該找一套現(xiàn)成的源碼,至少我是這么認(rèn)為的,雖然我還沒(méi)有移植過(guò)。網(wǎng)上關(guān)于Linux的BOOTLOADER文章不少了,但是大都是vivi,b
春姑年輕輕的吻了一下小穆妹紙的額頭!從沉睡中蘇醒的小穆妹紙,緩緩伸了個(gè)懶腰~~~ 啊~~ 睡得真香!等~~等~等~!好像和童話(huà)故事里的情節(jié)不一樣,應(yīng)該由王子我來(lái)親吻睡夢(mèng)中的妹紙才能醒??!~~ 強(qiáng)烈抗議重新
編制串行通信的數(shù)據(jù)發(fā)送程序,發(fā)送片內(nèi)RAM50H~5FH的16個(gè)字節(jié)的數(shù)據(jù),串行接口設(shè)定為方式2,采用奇偶校驗(yàn)方式。設(shè)晶振頻率為6MHz。 ORG 0000H LJMP START ORG 0030HSTART: MOV SP, #30H MOV PCON, #80H MOV SCO