原创 STM32學習筆記(二)---GPIO

STM32學習筆記(二)—GPIO 文章目錄STM32學習筆記(二)---GPIOGPIO功能框圖GPIO功能描述 GPIO功能框圖 GPIO功能描述 輸入功能(浮空/上拉/下拉) a. 輸出被禁止,施密特觸發器打開,可以通

原创 開源一份基於STM32F1平臺的ROS機器人底盤構建代碼

前言 最初參考網上資料移植了一份基於串口的STM32通過rosserial和ROS系統通信的代碼。對於小數據量格式的消息,可以正常通信,但消息量一大便會出錯(如:發佈ROS提供的odom和imu格式的消息)。網上還有另一種建立單片

原创 ROS機器人構建探討

ROS機器人構建探討 本文主要針對於機器人下位機或相關聯部分進行探討 自ROS在2007年誕生於斯坦福大學至今已經走過了十多年的時間,如今ROS已經成爲了機器人行業的普遍標準。ROS的分佈式應用大大提高了代碼的可複用性。 一、機器

原创 STM32學習筆記(四)---RCC

STM32學習筆記(四)—RCC 文章目錄STM32學習筆記(四)---RCCRCC時鐘框圖---時鐘樹系統時鐘1.HSE高速外部時鐘信號2.鎖相環PLL3.系統時鐘SYSCLK4.AHB總線時鐘HCLK5.APB2總線時鐘PCL

原创 bresenham畫線算法的最簡潔實現

bresenham畫線算法的最簡潔實現 具體的bresenham算法可以參考https://www.cs.helsinki.fi/group/goa/mallinnus/lines/bresenh.html,這裏介紹的是一種基於該

原创 stm32 u8g2移植筆記

STM32 u8g2 移植筆記 前言 當初想寫一個單色屏菜單時,曾移植過u8g2到STM32平臺(這裏用的是keil MDK),不過當時一直有一個問題沒有搞懂:爲什麼u8g2用在flash爲32k,ram爲2k的arduino u

原创 STM32 SysTick秒用

STM32 SysTick妙用 ​ 這裏針對的是無操作系統的情況下的使用。之前一直想利用systick既實現記錄系統運行時間又能夠精確實現微秒延時的功能,如果將SysTick的定時器的定時中斷時間設置爲1us,這在有

原创 STM32HAL庫微秒延時函數的實現---DWT和SysTick

文章目錄STM32 HAL庫微秒延時函數的實現利用SysTick再實現微秒延時函數利用DWT(數據觀測點)實現微秒延時函數`dwt.h`文件`dwt.c`文件`delayMicroseconds()`函數結論 STM32 HAL庫

原创 STM32F407_HAL_TIM_DMA驅動WS2812

STM32F407_HAL_TIM_DMA驅動WS2812 初始化函數可以通過CubeMX配置,這裏直接通過原碼記錄: 芯片外設層驅動 tim.h #ifndef __TIM_H #define __TIM_H #inclu

原创 ESP3D使用方法

ESP8266學習 ESP8266全系列芯片鏈接地址:https://www.esp8266.com/wiki/doku.php?id=esp8266-module-family&utm_source=platformio&utm

原创 改善初學者的PID(一)---簡介

改善初學者的PID(一)—簡介 文章目錄改善初學者的PID(一)---簡介一、簡介初學者的PID 一、簡介 結合新的Arduino PID庫的發佈,我決定發佈此係列文章。 最後一個庫雖然可靠,但實際上並沒有任何代碼說明。 這次圍繞

原创 C語言知識點---局部數組的長度可用變量表示

C語言知識點—局部數組的長度可以用變量來定義 首先我們知道C語言中,全局數組在定義的時候必須給定長度,而且長度必須是常量。一直沒注意函數內部的局部數組在定義的時候長度可以爲變量。具體見下例: #include <stdio.h>

原创 對PID理解的一些困惑

一、認識PID 在學習PID的時候,會猛然接觸到很多概念,導致對PID認識不清。剛學習PID時會一下接觸到PID、數字PID、增量式PID和位置式PID等概念,讓人感覺到PID很複雜,但其實本質上PID的公式就只有一個,其他只是爲

原创 改善初學者的PID

文章目錄一、簡介初學者的PID二、採樣時間問題解決方案代碼結果關於中斷的旁註三、微分衝擊問題解決方案代碼結果四、動態調整參數問題解決方案代碼結果五、積分飽和問題解決方案---步驟1(積分限幅)解決方案---步驟2(輸出限幅)代碼結

原创 如何學習計算機科學(個人見解)

如何學習計算機科學(個人見解) 簡介 人類社會中一切的發展過程都遵循從簡單到複雜的規律,人的學習也是一樣,也遵循着這樣的規律。經過長時間的發展,現代社會已經變得非常龐大且複雜。科技發展日新月異,需要學習的東西越來越多,也越來越複雜