首先,本人雖然初學(xué)STM32但極力反對(duì)一種誤人子弟的觀點(diǎn):“對(duì)于STM32這樣級(jí)別的MCU,有庫函數(shù)就不用去看寄存器怎么操作的了!”好了,言歸正傳,最近總看到很多朋友對(duì)于PWM這個(gè)實(shí)驗(yàn)有很多的疑惑,看到原子也在極力的
“下面代碼是stm32F1庫函數(shù)中對(duì)flash寫入一個(gè)字的函數(shù)部分,其中在給用u32表示的地址address賦值時(shí),通過(_IO uint16_t*)將Address強(qiáng)制轉(zhuǎn)換成了一個(gè)16位數(shù)的地址。很不理解為什么要轉(zhuǎn)成16位的。實(shí)驗(yàn)改成32位后發(fā)
看到這篇C51的內(nèi)存分配和優(yōu)化的文章,個(gè)人覺得分析的十分到位,在這里轉(zhuǎn)給大家C51的內(nèi)存分配不同于一般的PC,內(nèi)存空間有限,采用覆蓋和共享技術(shù)。在Keil編譯器中,經(jīng)過編譯后,會(huì)形成一個(gè)M51文件,在其內(nèi)部可以詳細(xì)的
void RCC_DeInit(void){RCC->CR |= (uint32_t)0x00000001; //開啟內(nèi)部8MHz時(shí)鐘#ifndef STM32F10X_CL //STM32F10X_CL指的是STM32互聯(lián)系列微處理器RCC->CFGR &= (uint32_t)0xF8FF0000; //其它類型處理器的CFGR寄存器中
在實(shí)際工作中,單片機(jī)定時(shí)器延時(shí)程序的設(shè)計(jì)通常會(huì)分為硬件延時(shí)設(shè)計(jì)和軟件延時(shí)設(shè)計(jì)兩種方案。其中,單片機(jī)定時(shí)器的軟件延時(shí)操作是比較常見的,在今天的文章中,我們將會(huì)就單片機(jī)定時(shí)器延時(shí)程序的軟件設(shè)計(jì)和操作技巧,
使用fsmc總線驅(qū)動(dòng)彩屏的特點(diǎn)是速度快,與使用IO口模擬的時(shí)序的做法相比,F(xiàn)SMC穩(wěn)定性好,缺點(diǎn)是配置復(fù)雜,較難理解。現(xiàn)將配置步驟總結(jié)如下:1.配置引腳配置函數(shù)如下:void LCD_CtrlLinesConfig(void){GPIO_InitTypeDe
//實(shí)例6:使用P0口流水點(diǎn)亮8位LED#include //包含單片機(jī)寄存器的頭文件 /**************************************** 函數(shù)功能:延時(shí)一段時(shí)間 *****************************************/void delay(void) {
由于電阻式觸摸屏就是一種傳感器,它利用壓力感應(yīng)進(jìn)行控制,將矩形區(qū)域中觸摸點(diǎn)(X,Y)的物理位置轉(zhuǎn)換為代表X坐標(biāo)和Y坐標(biāo)的電壓。這里先引入兩個(gè)概念,物理坐標(biāo)和邏輯坐標(biāo)。物理坐標(biāo)指觸摸屏上點(diǎn)的實(shí)際位置,通常以液晶上
ARM的約定byte 8bitshalfword 16bitsword 32bitsARM Core 提供的指令集ARM指令集 32bitsThumb 指令集 16bitsThumb2 指令集 16&32bitsARM CPU的七種工作模式符號(hào)解釋User用戶模式,大部分任務(wù)執(zhí)行在這種模式FIQ快速中
用Arduino編程具有簡(jiǎn)單易學(xué)的特點(diǎn),但要配合Arduino控制板使用,使得成本比較高,體積也大,而且除單片機(jī)電路以外的大部分電路只在編程時(shí)有用,在電子制作上使用后就是多余的了,造成了浪費(fèi)。能不能不用Arduino控制板
引言 在光通信領(lǐng)域,更大的帶寬、更長的傳輸距離、更高的接收靈敏度,永遠(yuǎn)都是科研者的追求目標(biāo)。盡管波分復(fù)用(WDM)技術(shù)和摻鉺光纖放大器(EDFA)的應(yīng)用已經(jīng)極大的提高了光通信系統(tǒng)的帶寬和傳輸距離,
LPC1768芯片帶有USB設(shè)備控制器,前面寫的文章都是在說比較簡(jiǎn)單的設(shè)備驅(qū)動(dòng),今天來說復(fù)雜一點(diǎn)的 首先是硬件層的配置#ifndef __USBHW_H__#define __USBHW_H__#include "debugSerial.h"#include "usbreg.h"#include "
BootLoader指系統(tǒng)啟動(dòng)后,在操作系統(tǒng)內(nèi)核運(yùn)行之前運(yùn)行的一段小程序。通過BootLoader,我們可以初始化硬件設(shè)備、建立內(nèi)存空間的映射圖,從而將系統(tǒng)的軟硬件環(huán)境帶到一個(gè)合適的狀態(tài),以便為最終調(diào)用操作系統(tǒng)內(nèi)核準(zhǔn)備好
變量就是一種在程序執(zhí)行過程中其值能不斷變化的量。要在程序中使用變量必須先用標(biāo)識(shí)符作為變量名,并指出所用的數(shù)據(jù)類型和存儲(chǔ)模式,這樣編譯系統(tǒng)才能為變量分配相應(yīng)的存儲(chǔ)空間。定義一個(gè)變量的格式如下: [存
行接口設(shè)備憑借其控制靈活、接口簡(jiǎn)單、占用系統(tǒng)資源少等優(yōu)點(diǎn),被廣泛應(yīng)用于工業(yè)控制、家庭安防、GPS衛(wèi)星定位導(dǎo)航以及水、電、氣表的抄表等領(lǐng)域。 在這些嵌入式系統(tǒng)中,可能會(huì)有很多從設(shè)備都通過串行接口與主機(jī)進(jìn)行通