原创 STM32 BOOT模式配置和功能

根據stm32中文參考手冊介紹如下 BOOT[1:0] X :0 主閃存存儲器 ,平時我們通過 SWD或者JTAG接口下載到單片機裏的程序就是下載到了這裏; 0 :1 系統存儲器, 此區域爲廠商出廠的時候內置了

原创 關於MAX3232ESE+T的過熱問題

因公司硬件工程師離職,無新人補缺, 記最近遇到一個硬件問題,關於RS232接口無法通信,經過檢查發現USART轉232的芯片MAX232發熱嚴重,經測量達到了60多度,明顯不正常,硬件電路如下 經過查找該芯片的數據手冊,發現這個

原创 IIC通信協議原理總結

一.主要特徵 1.只要求兩條總線線路 一條串行數據線 (SDA) 一條串行時鐘線 (SCL) 2.每個連接到總線的器件都可以通過唯一的地址和一直存在的簡單的主機 /從機關係軟件設定地 址 主機可以作爲主機發送器或主機接收器 3.它

原创 Implicit declaration of function “xxx” is invalid in C99.

關於這個錯誤的特殊情況 之前遇到過關於Implicit declaration of function “xxx” is invalid in C99.這個報錯是因爲對於頭文件函數未正確包涵,調用頭文件中函數大小寫問題要注意,否則

原创 ARM和X86比較

信不信,隨便逮住一個人問他知不知道CPU,我想他的答案一定會是肯定的,但是如果你再問他知道ARM和X86架構麼?這兩者的區別又是什麼?絕大多數的人肯定是一臉懵逼。今天小編就帶你深入瞭解CPU的這兩大架構:ARM和X86。以後出去裝

原创 關於單片機串口傳輸接收端出現0X80的情況

今天用stm32串口轉232和工控機通信時,通過筆記本的串口助手與單片機和工控機通信時都很正常,收發都沒有問題;但是一用單片機和工控機直接通信就出現通信故障,經過排查發現單片機老是接收到錯誤數據0X80; 當時的波特率是11520

原创 PID算法經典小結

原文鏈接:https://blog.csdn.net/ybhuangfugui/article/details/101442389 雖然自己參與和獨立做過的項目有好幾個都用到了PID算

原创 轉:關於data、idata、xdata、code在C51程序中詳細解釋

原文鏈接:https://blog.csdn.net/xwt321/article/details/79370066 51單片機採用哈佛結構。內存空間編址有重疊。可以在不同總線上定義不同

原创 CAN入門教程~CAN總線的基礎知識

1.CAN簡介: CAN 是 Controller Area Network 的縮寫(以下稱爲 CAN),是 ISO 國際標準化的串行通信協議。CAN 通過 ISO11898 及 ISO11519 進行了標準化,CAN 的高性能

原创 C語言之位域的概念和用法

先來個位域申明: struct{ type [member_name] : width ; } 元素 描述 type 整數類型,決定了如何解釋位域的值。類型可以是整型、有符號整型、無符號整型。 member_

原创 Linux基礎~編譯執行C/C++文件

想要成爲一名優秀的嵌入式開發從業人員,Linux是必須要學好的,今天就記錄以下最簡單的入門操作,如何在Linux系統中編譯和執行C/C++文件 環境:Linux Ubuntu 16.04 主要使用工具:vim / gcc /

原创 堆和棧最準確理解~透徹

堆和棧是我們在開發的過程中經常遇到的概念,也是最容易搞混和糊塗的概念,這兩天下決心經過查資料問人,終於把堆和棧的概念搞的清清楚楚了,下面是網上一位廣東的大哥給我的解釋,再次感謝,我覺得這個解釋很精煉了,但是有一點小問題 堆和棧

原创 a?b:c是什麼意思

a?b:c是什麼意思 這個是條件表達式,表示如果a爲真,則表達式值爲b,如果a爲假,則表達式值爲c 條件表達式具體說明如下 條件語句: if(a>b) max=a; else max=b; 可用條件表達式寫爲 max=(a>b)?

原创 C語言之static常用用法詳解

本來想自己總結寫一下,看到這個人寫的挺好挺全面的,簡單修改了一下,把時間省在更重要的事情上! C語言代碼是以文件爲單位來組織的,在一個源程序的所有源文件中,一個外部變量(注意不是局部變量)或者函數只能在一個源程序中定義一次,

原创 Linux環境下C學習路線

原文鏈接:https://blog.csdn.net/xdw1985829/article/details/6817403 UNIX/Linux下C語言的學習路線。 一、工具篇 “公欲善