原创 C語言 判斷相等的條件語句,爲什麼把數字放在前面?

      代碼寫久了,經常有這樣一種疑惑,經常能在別人的代碼,或者庫中見到這樣的寫法,0 == Tick 或者1 == Number ,爲什麼不寫成 Tick == 0 或者 Number == 1 呢?       相信很多人都遇到過

原创 無線網絡乾貨——信噪比、信號強度、路徑損耗、多徑干擾、符號間干擾、天線、放大器

不知不覺,已經進入全民物聯網時代,隨着物聯網從業者的增多,越來越多人開始瞭解物聯網,瞭解無線網絡。這其中有許多生澀的概念,困擾着許多初學者(包括我)。剛好近期在閱讀一本關於 “802.11 無線網絡” 的書籍,書中對這些概念解釋的比較透徹

原创 .s19 文件轉換爲 .hex 和 .bin文件的方法

      使用STVD開發時,編譯後產生的是 .s19 文件,與Keil 和 IAR常見的.hex .bin文件不同,那麼如何將.s19文件轉換爲常見的文件格式呢?       一、獲取工具 burner                

原创 STVD環境下開發STM8,如何查看工程佔用的Flash、EEPROM、RAM的情況

      初次使用STVD + Comsic環境開發STM8時,經常遇到很多困難,畢竟不如Keil 和 IAR 兩個環境熟悉,每解決一個問題最好記錄下來,既加深印象,又能幫助其他人。廢話不多說,見下文:      STVD編譯好工程後,

原创 使用 IAR 開發 STM8 時,傳入的參數被改變的原因

        從Keil轉到IAR,會遇到很多意想不到的怪事,因兩種編譯器風格不盡相同,故作記錄,提醒自己。         將參數傳入函數中,仿真時卻看到傳入的參數值被改變(多爲被置零),總結原因如下:         一、 在包含此

原创 【STM8】STM8在STVD平臺生成HEX和S19文件的方法

STVD開發平臺Debug運行時可以直接download程序到MUC裏面。 STVP好像只能Download [.s19]的目標文件。 網上找來編譯S19 和 hex如何切換的教程,記錄如下 1.工程設置中,Post-Build選項卡中,

原创 基於SX1276芯片的 LORA 技術開發詳解

一、簡介 LORA,是“Long Range”的簡稱。LORA 技術,源自於美國的升特公司(Semtech),是一種用於中、長距離傳輸的技術,相關信息主要從升特公司官網獲取,多爲英文版本。 官網網址:https://www.semtech

原创 用 IAR 開發 STM8 時,簡單軟件延時不起作用的原因

    近期有幸接手了前任工程師遺留的項目,MCU 選擇的是 STM8L151XX,開發工具使用的是 IAR 。打開祖傳代碼後,通讀了一遍,就用ST-Link燒錄進去跑程序,結果發現和預想的效果不太一致,尤其是初始化LED閃爍的部分。  

原创 安卓開發之——String、byte、16進制、10進制互轉

    近期工作中接觸了一下IOT方面的Android應用程序開發,主要應用於BLE的開發,在數據處理的過程中,難免會遇到string、byte、16進制、10進制甚至2進制的數據,互相轉換,時間長了腦子一片混亂。於是痛定思痛,花了一下午

原创 低功耗藍牙之——BLE 廣播數據解析

       BLE 設備工作的第一步就是向外廣播數據。廣播數據中帶有設備相關的信息。本文主要說一下 BLE 的廣播中的數據的規範以及廣播包的解析。 廣播模式 BLE 中有兩種角色 Central 和 Peripheral ,也就是中心設

原创 解析bin文件和nb0文件結構

 .bin文件是一個描述性質的映像文件,它由文件頭(head)、鏡像數據目的起始地址(ImageStart)、鏡像數據長度(ImageLength)和多條相對獨立的記錄(record)構成。   文件頭(head)由7個字節組成,內容是:

原创 單片機中利用Union聯合體打印輸出浮點數(小數)

方法一:指針     UART串口有一個缺點,就是發送和接受是一個字節一個字節的接收,如果發送的浮點數那可怎麼辦啊?     有人會說,那就一個字節一個字節發送啊。那麼,我先定義一個double data。32位機中,一個double類型

原创 Keil新建Stm32標準工程中 Preprocessor Symbols的作用

(轉自正點原子的回覆) 標準的工程新建辦法,是要添加" USE_STDPERIPH_DRIVER,STM32F10X_HD的. USE_STDPERIPH_DRIVER,是告訴編譯器,我們需要使用標準庫了(實際上是.c/.h文件裏面的一個

原创 單片機函數傳參被改變的原因之一

    原本U16的數據,傳入函數之後變成U8了,高8位被置零了。後發現罪魁禍首,函數定義和函數聲明時參數給定的長度不一,最後統一更改爲U16之後,數據完美傳輸。切記,出現不可思議的問題時,很有可能是犯了低級錯誤!!!     今天發博,

原创 STM32固件庫詳解

1.1 基於標準外設庫的軟件開發 1.1.1 STM32標準外設庫概述 STM32標準外設庫之前的版本也稱固件函數庫或簡稱固件庫,是一個固件函數包,它由程序、數據結構和宏組成,包括了微控制器所有外設的性能特徵。該函數庫還包括每一個外設的