STM32內(nèi)部含有硬核,對于一些協(xié)議(例如:UART,SPI,IIC,CRC等)我們只要調(diào)用硬核就可以了,同時我們也可以自己寫通信協(xié)議。 這些硬核最終肯定是要有引腳輸出的,這就是為什么STM32的引腳有復用功能的原因。
今天仔細讀了一下內(nèi)存管理的代碼,然后還有看了堆棧的相關知識,把以前不太明白的一些東西想通了,寫下來,方便以后查看,也想大家看了能指出哪里不對,然后修改。首先,先看一下stm32的存儲器結構。Flash,SRAM寄存
在編寫STM32程序代碼時由于自己的粗心會發(fā)現(xiàn)有時候程序跑著跑著就進入了HardFault_Handler中斷,按照經(jīng)驗來說進入HardFault_Handler故障的原因主要有兩個方面:1:內(nèi)存溢出或則訪問越界。2:堆棧溢出。發(fā)生異常后我們
一、推挽輸出:可以輸出高、低電平,連接數(shù)字器件;推挽結構一般是指兩個三極管分別受兩個互補信號的控制,總是在一個三極管導通的時候另一個截止。高低電平由IC的電源決定。 推挽電路是兩個參數(shù)相同的三極管或MOSFE
USB 時鐘可以一直使能。如果CAN時鐘沒有使能,RAM 能被軟件讀寫。(CANBus 不能發(fā)送和接受Message)如果CAN時鐘使能,RAM不能軟件被寫。 CANBus Core 控制此RAM區(qū)域。(CANBus 可以發(fā)送和接受Message)CANBus 占用了
usart這部分代碼我也是從網(wǎng)上copy出來的,一下是作者的解釋:簡單地說:想在mdk 中用printf,需要同時重定義fputc函數(shù)和避免使用semihosting(半主機模式),標準庫函數(shù)的默認輸出設備是顯示器,要實現(xiàn)在串口或LCD輸出
當我們采用并口傳輸數(shù)據(jù)的時候都會用如下的方法進行數(shù)據(jù)傳輸#define DATAOUT(x) GPIOB->ODR=x;STM32IO口都是16位的,所以當調(diào)用DATAOUT的時候就直接對GPIOB的16個IO口總體進行操作。但是我們?nèi)绻皇沁x擇高8位或者低
A/D轉換原理及參數(shù)指標1.采樣定理2.為了正確無誤的用圖5.2.2中所示的采樣信號vs表示模擬信號vi,必須滿足式中, fs>=2fmaxfs為采樣頻率;fmax為輸入信號vi的最高頻率分量的頻率;上式就是所謂的采樣定理。滿足采樣定理
本文以STM32F103ZE為原型,來剖析其內(nèi)存結構,從而了解其內(nèi)存物理地址,分配結構以擴展應用。STM32F103ZE這款芯片內(nèi)置了32KB的SRAM,512KB的Flash,其映射地址如下圖所示,該圖來源于其數(shù)據(jù)手冊。其中Flash的起始地址
輸出模式只有4種哦,另外4種是輸入模式,這個問題很常見:下面是引用文字:(1) 浮空輸入_IN_FLOATING ——浮空輸入,可以做KEY識別,RX1(2)帶上拉輸入_IPU——IO內(nèi)部上拉電阻輸入(3)帶下拉輸入_IPD—— IO內(nèi)部
I2C總線是由NXP(原PHILIPS)公司設計,有十分簡潔的物理層定義,其特性如下:只要求兩條總線線路:一條串行數(shù)據(jù)線SDA,一條串行時鐘線SCL;每個連接到總線的器件都可以通過唯一的地址和一直存在的簡單的主機/從機關系
/******************************************************************************** Function Name : main* Description : Main program* Input : None* Output : None* Return : None**************************
最近考試較多,教材編寫暫停了一下,之前寫了很多,只是每一章都感覺不是特別完整,最近把其中的部分內(nèi)容貼出來一下,歡迎指正。本文內(nèi)容基于我對固件庫的理解,按照便于理解的順序進行整理介紹,部分參考了固件庫的
固件升級的基本思路是: 將stm32 的flash劃分為兩個區(qū)域: 1.Bootloader區(qū):存放bootloader的代碼,bootloader代碼完成的主要功能就是,判斷外部條件,如果需要更新固件,則從指定位置(外接的U盤?板子上的外置
1、函數(shù)原型:void Jump_Address(void){if (((*(volatile u32*)ApplicationAddress) & 0x2FFE0000 ) == 0x20000000){test = (*(volatile u32*)ApplicationAddress);JumpAddress = *(volatile u32*) (ApplicationAddr
1、什么是UIP協(xié)議棧:UIP是一種適用于小型嵌入式通信的TCP/IP協(xié)議棧,由瑞典計算機科學院的人開發(fā)編寫的,它去掉了完整的TCP/IP中不常用的功能,簡化了通訊過程,但其保留了網(wǎng)絡通信中必須使用的協(xié)議,把設計重點放在
首先,先來看一下這個模塊的基本功能和原理。HC-SR04超聲波測距模塊可提供2cm-400cm的非接觸式距離感測功能,測距精度可達高到3mm;模塊包括超聲波發(fā)射器、接收器與控制電路。像智能小車的測距以及轉向,或是一些項目
吃虧了,才長記性,板子回來了(又一個晚上沒有了, 工程師的時間去哪兒了?多半就是這樣給浪費掉了,從這些失敗中長大),實在調(diào)不通時再去啃PDF,發(fā)現(xiàn)以下:7.3.2 把OSC_IN/OSC_OUT引腳作為GPIO端口PD0/PD1外部振蕩器
寫作原由:因為之前有對stm32 優(yōu)先級做過研究,但是沒時間把整理的東西發(fā)表,最近項目需要2個串口,但是不是兩個串口同時使用,只是隨機使用其中一個,程序?qū)?個串口的優(yōu)先級需要配置;此文思路:“中斷優(yōu)先級”思維
1.在對GPIOx_ODR的個別位進行編程時,軟件不需要禁止中斷。2.GPIO具有鎖定機制。主要是在一些關鍵引腳上為了防止程序跑掉而引起不必要的后果。3.GPIO的庫函數(shù)問題,GPIO_SetBits:置所選端口的一個或者多個位高;GPIO