原创 IO模擬通信接口設計

一、背景介紹 一般單片機之間通信由Mcu的硬件模塊完成,一般有:Spi、IIC、Uart、Can等,但也會遇到通信接口全部用完,則可以使用IO來模擬做通信協議。以下例程中,使用3個IO,實現主機發數據給從機的目的。(因沒有使用到從機給主機

原创 芯片無PWM功能,Mcu使用定時器中斷產生PWM信號(普通舵機例程)

PWM(Pulse Width Modulation)控制——脈衝寬度調製技術。在各個領域應用廣泛,如下圖是通過調整佔空比達到模擬輸出不同電壓的目的,一般可用於呼吸燈等場景。 一般芯片都帶有PWM硬件模塊,只需設置頻率和佔空比,則在IO

原创 Stm32芯片BootLoader實操(附帶工程)

關於Stm32 BootLoader其他博客有很多介紹,這裏只做重點摘要的介紹並附帶上Stm32F103C8的BootLoader和App工程供下載。 1、Stm32F103C8 64k Byte的Flash內存分配。一部分做BootLo

原创 C51開發環境的搭建

在keil5軟件安裝成功後,如果還想繼續開發51內核單片機,則繼續進行安裝C51開發包。 具體如下: 1、將“c51v954a”安裝在keil安裝目錄下;按如下步驟安裝即可。 2、安裝後以管理員方式運行keil,在File-licens

原创 IIC知識整理以及ADS1115

原文轉自:https://blog.csdn.net/g2117805/article/details/70058978 操作實例 接下來將用IIC獲取ADS1115芯片的電壓值。 SLAVE地址  由於模塊addr pin是懸空的,參考

原创 _attribute_((weak))的說明

在別人代碼彙總看到“void __attribute__((weak)) DebugInitial(void)”函數。不解。在此文章中得到解答。原文鏈接如下。 https://blog.csdn.net/mrpre/article/det

原创 MATLAB對邏輯分析儀抓取到的Spi傳輸數據處理分析

立體聲音頻在Spi傳輸時出現問題,便只能通過邏輯分析儀抓取Spi傳輸口線數據來驗證Spi傳輸的數據是否正常。 數據格式爲: ①數據位數:16位數據;②傳輸格式:低8位在前,高8位在後;③數據是立體聲傳輸,一左一右一左一右……的方式排列;④

原创 74HC595驅動的使用

昨天有人問74H595這個IC的使用方法,雖然這個IC使用簡單,但對於初學者理解還是較爲困難,所以直接上程序來助理解。 原理說明:首先給SH_CLK引腳時鐘信號,給SD引腳數據信號,讓存儲8位數據。然後給ST_CLK引腳給上升沿脈衝,即可

原创 關於Flash的學習(二,操作Flash時,Flash延長壽命的寫法)

承蒙項目和同事的要求,因Flash擦除、寫入太過於頻繁,所以需要更換Flash地址寫數據。 背景簡介:嵌入式開發,需要關機保存數據,C語言寫。用512K Byte Flash。 看了一篇網上文章後,借鑑前人的做法,寫了以下代碼,本人是運用

原创 在MatLab中FFT和IFFT的互相轉換

    FFT變換是將信號從時域轉換到頻域,這樣在時域複雜的信號轉換到頻域看起來就方便容易了很多。但有時候也需要將頻域信號轉換到時域,所以這時運用到IFFT變換。    其實IFFT的計算原理之一就是將頻域(注意頻域是複數)數據進行取共軛

原创 關於Flash的學習(第一步(後續繼續更新))

首先對於MX25L3233F 型號Flash。指令部分先不說,我先介紹Flash大小換算和擦除部分。首先,我們先明確下此Flash爲32M Bit,也就是8M Byte。在文章開頭概括時會介紹Flash有多少個扇區對應多大的Byte、多少