
一、用STM32控制TFTLCD顯示的編程方法,在編程驅(qū)動(dòng)TFTLCD液晶顯示器之前,我們先熟悉以下概念:1、色彩深度,這是一個(gè)與TFTLCD顯存對(duì)應(yīng)的概念;所謂色彩深度就是每個(gè)像素點(diǎn)需要多少位的RGB 數(shù)據(jù)表示該點(diǎn)的顏色信息。
先說明一下,開發(fā)平臺(tái)win7,工具RVMDK(keil),硬件stm32f103ve,打印到超級(jí)終端前兩天開始關(guān)注一下一直被擱在一邊的printf。。。其實(shí)應(yīng)該有一個(gè)月前就有看了一下,調(diào)用C語言官方庫,實(shí)現(xiàn)可變參數(shù)printf向串口打印字符
采用adc1的通道10,將采集到的電壓值用485發(fā)送給PC顯示,先上原理圖,源代碼見附件,這里想說的是幾個(gè)要注意的問題:1,ad輸入的電壓經(jīng)過了R42和R44進(jìn)行分壓,所以pc顯示的電壓值將會(huì)減半,2、采用這個(gè)函數(shù)進(jìn)行發(fā)送數(shù)
1.stm32有AHB,APB2,APB1總線。 其中APB2外設(shè)地址空間是從0x40010000至0x40013FFF地址。第一個(gè)地址稱為基地址。2.參考手冊(cè)中端口配置寄存器有地址偏移0x04,所以GPIOC_CRH地址為GPIOC_BASE+0x04 GPIO_TypeDef結(jié)構(gòu)體
#include"usart1.h"//#include //加載MDK 自帶的 C 函數(shù)D:KeilC51INC//串口1 配置void USART1_Config(void){GPIO_InitTypeDef GPIO_InitStructure; //定義結(jié)構(gòu)體// 結(jié)構(gòu)體內(nèi)容在stm32f10x_gpio.h101行//見庫函數(shù) P12
DAC模塊的通道1來輸出模擬電壓,其詳細(xì)設(shè)置步驟如下:1)開啟PA口時(shí)鐘,設(shè)置PA4為模擬輸入。STM32F103ZET6的DAC通道1是接在PA4上的,所以,我們先要使能PORTA的時(shí)鐘,然后設(shè)置PA4為模擬輸入(雖然是輸入,但是STM32內(nèi)
相關(guān)經(jīng)驗(yàn)及心得如下: 摘要:1.在配置USART的TX完成中斷后,在沒有發(fā)數(shù)的情況下自動(dòng)進(jìn)入TX完成中斷函數(shù)。2 .在TX配置完成后,相應(yīng)的TC標(biāo)志位會(huì)自動(dòng)置1,隨后就進(jìn)入了TX完成中斷。3.相關(guān)配置程序編寫無誤,并已經(jīng)開啟
1、安裝MDK環(huán)境,下載程序的第三方軟件mcuisp。 BOOT0開關(guān)撥到VCC、自動(dòng)搜索串口、開始編程按鈕,如果程序下載成功后則會(huì)打印出下面紅色框中的信息、程序下載成功之后,需要將BOOT0開關(guān)撥到GND,然后按下我們的復(fù)位
關(guān)于正交解碼,我先解釋何為正交解碼,,,,其實(shí)名字挺高大上的,,,,還是先說編碼器吧看一下我用過的一種編碼器編碼器的線數(shù) ,是說編碼器轉(zhuǎn)一圈輸出多少個(gè)脈沖,,,如果一個(gè)編碼器是500線,,,說明這個(gè)編碼器轉(zhuǎn)一圈對(duì)應(yīng)的信號(hào)
1 bxCAN工作模式 bxCAN有3個(gè)主要的工作模式:初始化模式、正常模式和睡眠模式。 在硬件復(fù)位后,bxCAN工作在睡眠模式以節(jié)省電能,同時(shí)CANTX引腳的內(nèi)部上拉電阻被激活。軟件通過對(duì)CAN_MCR寄存器的INRQ或SLEEP位置’1’
搞了一天才發(fā)現(xiàn) 在MDK設(shè)置選項(xiàng)中有個(gè)"linker"選項(xiàng)卡 ,需要在Project->Options->Linker中將UseMemoryLayoutfromTargetDialog前面的復(fù)選框勾上 一切就正常了UseMemoryLayoutfromTargetDialog這個(gè)選項(xiàng)有個(gè)“分散加載文
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引腳
#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
在"嵌入式學(xué)習(xí)006_Systick使用(一)"中,詳細(xì)介紹了Systick中寄存器的使用方法,用到了很多函數(shù),實(shí)際上到了3.5版本的標(biāo)準(zhǔn)固件庫中,移除了相關(guān)驅(qū)動(dòng)函數(shù),用戶必須調(diào)用CMSIS.h中定義的函數(shù),其中CMSIS只提供了一個(gè)S
如圖,STM32的每個(gè)TIMER都有正交編碼器輸入接口,TI1,TI2經(jīng)過輸入濾波,邊沿檢測產(chǎn)生TI1FP1,TI2FP2接到編碼器模塊,通過配置編碼器的工作模式,即可以對(duì)編碼器進(jìn)行正向/反向計(jì)數(shù)。如下圖,編碼器使用了A,B兩相信號(hào)
從PWM輸出實(shí)驗(yàn)的工程開始,加入其他各種功能。LCD屏幕顯示:一、hardware其中timer是產(chǎn)生脈沖的。二、hallibFMC是一個(gè)接口,控制SDRAM和LCD三、#include#include"lcd.h"#include"sdram.h"12四、init()SDRAM_Init();
首先在網(wǎng)上看到大部分移植FreeRTOS 都是選擇修改他的啟動(dòng)文件,我個(gè)人感覺這樣不是很好,畢竟是匯編,當(dāng)你采用不同的芯片型號(hào)時(shí),又要修改不同的xx.S文件,所以我選擇修改FreeRTOSconfig.h文件。1. 下載STM32官方源碼
利用STM32跑UCOS 寫了個(gè)很簡單的程序,編譯如下Program Size: Code=24562 RO-data=746 RW-data=88 ZI-data=7456以此推算,小于FLASH小于24K RAM小于8K 根本不能考慮STM32的UCOS,只能祼奔,STM32的FLASH到還好滿足些
在STM32單片機(jī)的編程當(dāng)中,中斷函數(shù)的名稱都是xxx_IRQHandler格式的。那當(dāng)編譯程序的時(shí)候是怎么知道這是一個(gè)中斷函數(shù)的呢?每個(gè)中斷都是有入口地址的。程序在執(zhí)行過程中遇到中斷的時(shí)候,會(huì)先判斷這個(gè)中斷的類型,根據(jù)
ADC的基本概念希望各位網(wǎng)友查閱相應(yīng)的手冊(cè),上面對(duì)ADC有比較詳盡的介紹,包括誤差的分析和消除。這里主要介紹ADC的基本庫函數(shù)的定義和使用。1.ADC_DeInit函數(shù)的功能是將外設(shè)ADCx的全部寄存器重設(shè)為默認(rèn)值。ADC_DeIni