原创 FreeRTOS學習(2)——任務創建與刪除

任務基礎知識 FreeRTOS任務特性 簡單 沒有使用限制 支持搶佔 支持優先級 每個任務都擁有堆棧導致RAM內存使用量加大 使用搶佔必須考慮重入的問題(可重入函數主要用於多任務環境中,一個可重入的函數簡單來說就是可以被中斷的函

原创 stm32學習(4)——外部中斷

中斷是單片機的靈魂 引入 週末的下午小明正在家裏安安靜靜的寫作業,突然小明的媽媽買菜回來了,但是媽媽忘記了帶鑰匙,就敲門示意小明開門,小明聽到媽媽敲門的信號,停止正在寫的作業,做出開門的反應,讓媽媽進門,然後又繼續寫作業。 停止正

原创 FreeRTOS學習(1)——FreeRTOS移植

爲什麼要讓你的單片機裸奔? 什麼是FreeRTOS? 首先看到兩個概念: RTOS:實時操作系統,目前主流的嵌入式操作系統有:UCOS、FreeRTOS、LWIP、EMWIN、RT-Thread 等 FreeRTOS:FreeR

原创 stm32學習(5)——通用定時器

今天來了解一下stm32中的通用定時器的定時中斷。 當然在接觸通用定時器之前,先來看一下stm32有哪些定時器: 以F103系列爲例,可以看到,stm32中有高級定時器,通用定時器以及基本定時器三種。其中應用的最廣泛的就是通用定

原创 數據結構與算法學習(1)——代碼效率優化

作爲一名電子信息工程專業的學生,我們學校是在專業選修開設了數據結構課,但是大家都沒有選擇這一門課,由於一個偶然的機會,在一個技術交流羣裏有大牛推薦了這個數據結構課,只要1塊錢還是9.9塊錢我不記得了,反正屬於薅羊毛性質,既然買了就

原创 stm32學習(3)——NVIC中斷優先級分組

相信大多數鐵汁在學習stm32的時候都瞭解過51單片機的基本內容,對於51單片機來說,中斷就那麼幾個: 外部中斷0 定時器/計數器0中斷 外部中斷1 定時器/計數器1中斷 串口中斷 它們在51單片機中的優先級也是按自上而下的順

原创 stm32學習(1)——GPIO

引腳說明 基本結構 工作方式 相關寄存器 ** 一、引腳說明(以正點原子精英版所用stm32f103zet6爲例) ** STM32F103ZET6: 一共有7組IO口——GPIOA~GPIOG 每組IO口有16個IO——

原创 stm32學習(2)——時鐘樹

我家門前有兩棵樹,一棵是棗樹,另一棵也是棗樹。 ——魯迅 你是否總在感嘆人生苦短光陰易逝,你是否有着青春的年紀卻在路上被叫叔叔阿姨的無奈,你是否總覺得自己的時間海綿乾澀無比擠不出水。如果是,那麼你就需要加強

原创 IIC模擬通信實例(基於51單片機)

在本文中,主要描述了IIC通信協議與讀寫24c02(EEPROM)的具體實例,並將P1口連接8個LED小燈,將從24c02裏面讀取出來的數據賦值給P1口,使小燈的亮滅情況根據讀取的數據發生相應的改變。 目錄 1. IIC簡介 2.

原创 LCD1602驅動編寫(基於51單片機)

從前村裏的狗蛋撿到了阿拉丁神燈,狗蛋向神燈許了三個願望。第一個願望狗蛋說“我想學會如何驅動LCD1602”,神燈說:“so easy”,然後把這篇博客的鏈接發給了他。神燈問他還有兩個願望是什麼,狗蛋說:“希望神燈給這篇博客點贊加評

原创 串口不夠彆着急,軟件模擬來幫你(基於51單片機)

在單片機實際開發的過程中,可能會出現串口不夠用的情形。如果你需要更多的串口,又無奈於手頭沒有資源更豐富的單片機,那麼,軟件模擬串口通信也許可以幫到你。 軟件模擬串口通信的主要思想是通過定時器來定時產生相應的波特率。 #includ

原创 簡單易學的幾大經典濾波算法(含代碼及仿真)

一、限幅濾波法 設定兩次採樣允許的最大偏差爲A 如果(本次值-上次值)的絕對值大於A,則本次值無效,用上次值代替本次值 如果(本次值-上次值)的絕對值大於A,則本次值有效,採用本次值 import numpy as np

原创 卡爾曼濾波學習及python仿真

在這裏我就不介紹卡爾曼的數學推算了,網上的數學推導一抓一大把,如果想了解推導過程的小夥伴可以去大佬的博客。如果你是想直接簡單運用卡爾曼濾波來處理mpu6050的數據,或者是處理ADC的數據,那麼我希望這篇筆記可以幫助到你。 卡爾曼

原创 更改MPU6050的IIC端口

開門見山,我所用的例程是正點原子F103的mpu6050教程代碼。 它所讀取的mpu6050的方式是軟件模擬IIC通信,可以配置任意的io口進行讀取陀螺儀數據。 更改IIC的IO口需要改兩個地方: 1.是在mpuiic.c裏面的M