我現(xiàn)對(duì)一個(gè)程序進(jìn)行減少片內(nèi)ram的使用的優(yōu)化,有一些效果,同時(shí)也產(chǎn)生了些疑問(wèn),在此向各位大蝦請(qǐng)教:一、現(xiàn)象:1、我在通過(guò)減少全局變量、函數(shù)內(nèi)變量的使用,減少函數(shù)間參數(shù)傳遞等手段來(lái)優(yōu)化,發(fā)現(xiàn)某些時(shí)候我減少一
板子上設(shè)置了EEPROM存儲(chǔ)器,型號(hào)為AT24C02。板子的硬件連接為:SCL--->P2.4,SDA--->P2.5。直接了當(dāng),貼上程序!========================24cxx.h文件=========================#ifndef_24CXX_H_#define_24CXX_H_#in
SysTick是Cortex-M0內(nèi)核的一部分。它主要被用來(lái)作為嵌入式操作系統(tǒng)的10ms中斷定時(shí)器。在單片機(jī)不上操作系統(tǒng)的時(shí)候,它就可以作為一個(gè)普通的定時(shí)器使用。SysTick是一個(gè)24位的倒計(jì)時(shí)定時(shí)器。也就是說(shuō)它在工作的時(shí)候,是
STM8S提供三種類型的TIM定時(shí)器:高級(jí)控制型(TIM1)、通用型(TIM2/TIM3/TIM5)和基本型定時(shí)器(TIM4/TIM6)。它們雖有不同功能但都基于共同的架構(gòu)。此共同的架構(gòu)使得采用各個(gè)定時(shí)器來(lái)設(shè)計(jì)應(yīng)用變得非常容易與方便(相同的寄
include;*----;定義LCD數(shù)據(jù)&控制I/O口LCD_DATAequPORTBLCD_CNTL1equPORTBLCD_CNTL2equPORTA;定義LCD控制相應(yīng)的I/O引腳RSequ1Eequ5;LCD模塊命令DISP_ONEQU0x00C;開顯示DISP_ON_CEQU0x00E;開顯示,開指針D
1.初始化UART0之前需要先初始化ACLK、SMCLK和MCLK。示例代碼中使用XT1,ACLK為32768,SMCLK和MCLK約為8MHZ。2.UART的時(shí)鐘可以參考ACLK或者SMCLK,本例參考ACLK。由于參考ACLK時(shí)鐘,所以串口速率不能超過(guò)32768。選擇9
使用gb2_utf8(字符編碼批量轉(zhuǎn)換器), 解決mdk編輯代碼時(shí)的各種亂碼問(wèn)題mdk在 "中英混合輸入,退格,插入" 時(shí)出現(xiàn)蛋疼的各種亂碼問(wèn)題原理就是把所有的.c和.h文件的GB編碼轉(zhuǎn)為utf8編碼,utf8不帶bom如下圖轉(zhuǎn)換前要確認(rèn)下原
在使用STC12C5608AD的PWM功能時(shí),需要用到把PWM的占空比從0%調(diào)到100%,0%即低電平,100%即高電平。通過(guò)改變CCAP0H的值,可以調(diào)節(jié)占空比,按道理,當(dāng)CCAP0H的值為255時(shí),占空比應(yīng)該為0,但是通過(guò)示波器發(fā)現(xiàn),還是有那
單片機(jī)和數(shù)字電路怎么抗干擾形成干擾的基本要素有三個(gè):(1)干擾源,指產(chǎn)生干擾的元件、設(shè)備或信號(hào),用數(shù)學(xué)語(yǔ)言描述如下:du/dt,di/dt大的地方就是干擾源。如:雷電、繼電器、可控硅、電機(jī)、高頻時(shí)鐘等都可能成為干擾
#include #include volatile unsigned int i = 0; // 中斷服務(wù)子程序中所用到的全局變量, 最好定義成 volatile 型, 具體原因和用法可以參考我的其他博文介紹 void main (void) { WDTCTL = WDT_MDLY_0_5; // 周期
1、holtek單片機(jī)中斷服務(wù)函數(shù)中函數(shù)調(diào)用里的參數(shù)不能傳遞地址,不然程序就會(huì)跑飛2、holtek單片機(jī)盡量不要函數(shù)嵌套很多層,嵌套過(guò)多,會(huì)導(dǎo)致單片機(jī)復(fù)位
用DMA的SPI雙機(jī)通信中幾個(gè)很容易出錯(cuò)的點(diǎn):1)分頻值:SPI的頻率最高為18M,SPI1是在頻率為72M的APB2上,而SPI2是在頻率為36M的APB1上。如果芯片時(shí)鐘頻率為72M,那么SPI1的分頻值為4,SPI2的分頻值為2.2)開DMA順序:
1、在UV2/UV3中,一個(gè)工程可以由多個(gè)模塊(即*.c文件)組成,模塊之間的變量與函數(shù)的調(diào)用與標(biāo)準(zhǔn)C語(yǔ)言類似。即變量必須是全局變量(公共變量),函數(shù)必須是全局函數(shù)。一般缺省規(guī)則是: ?。?)在任意模塊中定義的
while(1){ U8 idx; Uart_Printf("\\nPlease select function : \\n"); for(i=0; CmdTip[i].fun!=0; i++) Uart_Printf("%d : %s\\n", i, CmdTip[i].tip); idx = Uart_GetIntNum_GJ() ; if(idx>7)/f
使用ITM機(jī)制實(shí)現(xiàn)調(diào)試stm32單片機(jī),實(shí)現(xiàn)printf與scanf。1. ITM簡(jiǎn)介ITM機(jī)制是一種調(diào)試機(jī)制,是新一代調(diào)試方式,在這之前,有一種比較出名的調(diào)試方式,稱為半主機(jī)(semihosting)方式。在pc上編寫過(guò)C語(yǔ)言的人都知道,pr