STM32上有很多I/O口,也有很多的內(nèi)置外設(shè),像I2C,ADC,ISP,USART等,為了節(jié)省引出管腳,這些內(nèi)置外設(shè)基本上是與I/O口共用管腳的,也就是I/O管腳的復(fù)用功能。但是STM32還有一特別之處:很多復(fù)用內(nèi)置的外設(shè)的I/O引腳
為使用更更高的波特率,則需要更更高的外設(shè)時鐘的頻率。這個時候就需要用到鎖相環(huán)(PLL)了。鎖相環(huán)可以對輸入的時鐘進(jìn)行分頻、升頻后進(jìn)行輸出。MCK可以使用的鎖相環(huán)為PLLA,而PLLA的輸入時鐘為MAINCK。本節(jié)將配置MC
#include "stm32f10x_lib.h"#include"stdio.h"#define USART1_DR_Base0x40013804#define SENDBUFF_SIZE10240vu8 SendBuff[SENDBUFF_SIZE];vu8 RecvBuff[10];vu8 recv_ptr;void RCC_Configuration(void);void GPIO_Co
用c語言寫的一個時鬧鐘程序單片機(jī)用16F877,主時鐘用20MHz,用32768作定時時間??梢詫崿F(xiàn)2路定鬧,每一路都可分別設(shè)置和開關(guān),采用4x4鍵盤,16x2的字符型LCD顯示。連線在程序開頭有說明。程序的功能:(
C51函數(shù)聲明對ANSI C作了擴(kuò)展,具體包括:1.中斷函數(shù)聲明:中斷聲明方法如下:void serial_ISR () interrupt 4 [using 1]{/* ISR */}為提高代碼的容錯能力,在沒用到的中斷入口處生成iret語句,定義沒用到的中斷。/*
目前單片機(jī)對于工科學(xué)生而言就會象電路基礎(chǔ)原理一樣成為基礎(chǔ)課。其實不是單片機(jī)難學(xué),而是不知道怎么入門。請大家記住一句話“單片機(jī)不是學(xué)出來的,而是玩出來的”。下面結(jié)合自己自學(xué)單片機(jī)的體會,和大家一起來“玩
實驗現(xiàn)象:LED燈0.5s閃爍/*****************************************************************************************函 數(shù) 名:bsp_Inittimer1*函數(shù)功能:初始化定時器1*形 參:無*返 回 值:無*******************
在"嵌入式學(xué)習(xí)006_Systick使用(一)"中,詳細(xì)介紹了Systick中寄存器的使用方法,用到了很多函數(shù),實際上到了3.5版本的標(biāo)準(zhǔn)固件庫中,移除了相關(guān)驅(qū)動函數(shù),用戶必須調(diào)用CMSIS.h中定義的函數(shù),其中CMSIS只提供了一個S
測試環(huán)境:keil c51 +STC89C52說明:1.keil的不定參數(shù)只有15個字節(jié)也就是說sizeof(...) 加起來總共不能超過15字節(jié),否則會出錯2.當(dāng)不定參數(shù)中有常數(shù)時,你也會得不到你想要的結(jié)果,字符串除外例:unsignedchar count
如圖,STM32的每個TIMER都有正交編碼器輸入接口,TI1,TI2經(jīng)過輸入濾波,邊沿檢測產(chǎn)生TI1FP1,TI2FP2接到編碼器模塊,通過配置編碼器的工作模式,即可以對編碼器進(jìn)行正向/反向計數(shù)。如下圖,編碼器使用了A,B兩相信號
leds.bin:crt0.Sleds.carm-linux-gcc -g -c -o crt0.o crt0.Sarm-linux-gcc -g -c -o leds.o leds.carm-linux-ld -Ttext 0x00000000 -g crt0.o leds.o -o leds_elfarm-linux-objcopy -O binary -S leds_elf leds.bin
從PWM輸出實驗的工程開始,加入其他各種功能。LCD屏幕顯示:一、hardware其中timer是產(chǎn)生脈沖的。二、hallibFMC是一個接口,控制SDRAM和LCD三、#include#include"lcd.h"#include"sdram.h"12四、init()SDRAM_Init();
單片機(jī)的芯片內(nèi)集成了計算機(jī)的基本功能部件,已具備了很強(qiáng)的功能,當(dāng)片內(nèi)ROM,RAM的容量,并行I/O端口,定時器及中斷源等資源都還可以很方便地進(jìn)行功能擴(kuò)展.特別是用的較多的廉價的EPROM.片內(nèi)RAM中具有1
// 串行數(shù)碼管顯示 tlc549 AD轉(zhuǎn)換值// 芯片 ATMEGA16L // 時鐘 4MHz 內(nèi)部 // 采用系統(tǒng)自帶延時程序#include #include#define hc164_data PORTD.0 // 164數(shù)據(jù)線 #define hc164_clk PORTD.1 // 164時鐘線 #defi
1.1 啟動代碼內(nèi)容1) 硬件初始化:最起碼的是要初始化堆棧指針。2) C語言環(huán)境 :在main函數(shù)調(diào)用之前要完成對一些變量的初始化。3) 應(yīng)用初始化: 這主要取決于你的應(yīng)用。比如設(shè)置系統(tǒng)的晶振、時鐘。1.2 圖解M3啟動過程1)