原创 rtthread 學習記錄以及一些簡單問題總結

1、目錄結構     在rtthread工程中一般有Drivers、DeviceDrive、Application、stm32_hal、kernel、finsh、libc、cortex-M3這八個目錄,其中stm32_hal是官方驅動。k

原创 IIC、SPI、UART串行通信以及同步/異步通信學習

一、IIC 連接線:VCC、GND、SDA、SCL。 半雙工同步通信。MSB。 速率:100Kbps、400Kbps、3.4Mbps。 數據採集:SCL爲高電平期間採集,因此SDA必須在SCL爲低期間跳變。 空閒狀態:SCL、SDA同爲高

原创 C語言__attribute__學習記錄

一、section section 用於指定變量或函數存儲段,例如: int *A __attribute__((section(".mysec")))  = &B; 就會把變量A放在.mysec段,可以放多個變量在同一個段,同一個段的變

原创 大端小端存儲方式以及區別方法

一、大端、小端存儲區別 大端存儲:低字節放在高地址,高字節放在低地址。 小端存儲:高字節放在高地址,低字節放在低地址。 數據0X12345678在0X20000000地址上的存儲方式: 地址 小端 大端 0X20000000 0X78 0

原创 串行通信學習

一、IIC 連接線:VCC、GND、SDA、SCK。 半雙工異步通信。MSB。 速率:100Kbps、400Kbps、3.4Mbps。 數據採集:SCL爲高電平期間採集,因此SDA必須在SCL爲低期間跳變。 空閒狀態:SCL、SDA同爲高

原创 海盜喝酒問題

有一羣海盜(不多於20人),在船上比拼酒量。過程如下:打開一瓶酒,所有在場的人平分喝下,有幾個人倒下了。再打開一瓶酒平分,又有倒下的,再次重複......直到開了第4瓶酒,坐着的已經所剩無幾,海盜船長也在其中。當第4瓶酒平分喝下後,大家都

原创 刪除一個數組其中一些元素後將剩餘元素順序排列

#include "string.h" #include <stdio.h> #define M 12 #define N 4 int A[M] = { 432,32,54,2,654,243,9,4,54,2,34,6 }; int

原创 STM32無法正常把程序下載到非起始地址(生成HEX文件地址不對應keil中設置地址)問題解決方法

    在編寫BootLoader時要下載程序到非起始地址上,問題的現象就是下載失敗,表現爲下圖所示:     即使可以下載程序完了讀取發現下載的部分是由從起始地址下載程序截取的,下圖中的設置沒有任何作用。              

原创 查重

推薦大家一個靠譜的論文檢測平臺。重複的部分有詳細出處以及具體修改意見,能直接在文章上做修改,全部改完一鍵下載就搞定了。怕麻煩的話,還能用它自帶的降重功能。哦對了,他們現在正在做畢業季活動, 贈送很多免費字數,可以說是十分划算了!地址是:h

原创 rt-thread在stm32上運行修改外部晶振

    首先要將外部晶振的值修改爲實際晶振的頻率方法爲:找到rtconfig.h 修改裏面的 RT_HSE_VALUE 800 0000爲 1600 0000,如下圖所示,第156行即爲修改過後值。     然後調整系統時鐘初始化的預

原创 ARM M3、M4系列單片機bootloader介紹以及編寫

    BootLoader與正常程序在功能上完全一樣,可以理解爲兩個程序,只不過在BootLoader運行完後會跳轉到想要運行的程序中去,BootLoader也是主函數開始運行、也可以調用串口等外設,這也是可以串口下載程序的原理吧,在串