原创 [轉載] RCC—使用HSE/HSI配置時鐘

本章參考資料:《STM32F4xx中文參考手冊》RCC章節。學習本章時,配合《STM32F4xx中文參考手冊》RCC章節一起閱讀,效果會更佳,特別是涉及到寄存器說明的部分。RCC :reset clock control  復位和時鐘控制

原创 IAR Debug時Warning: Stack pointer is setup to incorrect alignment. Stack addr = 0xFFFFFFFF

Q:IAR 可以正常下載程序,但點擊Debug時出現Warning: Stack pointer is setup to incorrect alignment. Stack addr = 0xFFFFFFFF.A : 工程生成的程序輸出

原创 【轉載】FreeRTOS隨記

任務函數原型:void ATaskFunction(void * pvParameters); 任務不允許從實現函數中返回.如果一個任務不再需要,可以用vTaskDelete()刪除;一個任務函數可以用來創建多個任務,各任務均是獨立的執行

原创 [轉載]UART 和 USART 有區別

UART:universal asynchronous receiver and transmitter通用異步收發器           [Bus Signal]  TX , RX USART:universal synchronous

原创 IAR Error[Pe121]: a case label may only be used within a switch

Q : 使用 switch-case 語句 case 內容已用{}涵括,報錯。A:switch下一級內容也應用{}涵括,及用{}涵括所有 case 內容S:switch下面打上{}

原创 [轉載] keil中文註釋出現亂碼怎麼解決

Q : Keil 中註釋中文刪減時出現亂碼。A & S : 在keil–edit–configuration中encoding改爲chinese-GB2312。

原创 【轉載】MDK5.00中*** error 65: access violation at 0x40021000 : no 'read' permission的一種解決方法

自從升級到MDK5版本後,以前由MDK4建的工程都正常,但是用MDK5來建立工程的話,總是在軟件仿真的時候出現*** error 65: access violation at 0x40021000 : no 'read' permiss

原创 [轉載] 單端(Single-Ended)模式與差分(Differential)模式的區別

【背景】在一個Silabs的C8051F347的芯片中,外接一個ADC用於判斷出不同的外部接口類型,即ADC檢測出一定的模擬值,在某一範圍,對應對應不同的接口。在初始化ADC的時候,會去配置Silabs中對應的寄存器AMX0P和AMX0N

原创 [轉載]STM32 大小容量芯片之間的差別及啓動文件的選擇

本文主要討論STM32F103xC,STM32F103xD和STM32F103xE大容量增強型芯片的特性:1)何爲大容量芯片呢?答:高達512K字節的閃存和64K字節的SRAM的芯片爲大容量。2)STM32有分小容量,中等容量和大容量的型

原创 IAR 向 Keil 移植過程中在include "core_cm3.h" 文件情況下報錯 stm32f10x.h 中 "__IO" 未定義和 "uint32_t" 未定義

Q: log 中顯示 stm32f10x.h 中 "__IO" 未定義和 "uint32_t" 未定義, 但是已經 #inlcude "core_cm3.h" ,__IO, uint32_t 已經在 core_cm3.h 文件中有定義,並

原创 IAR Error[Pe065]: expected a ";"

Q : 結構體報錯如題A : 結構體定義每句之後應該用 ; 隔開, 而不是逗號。枚舉類型用 , 隔開,不用分號,請勿混淆。S : 將逗號換成分號。

原创 IAR Warning[Pe549]: variable “XXX” is used before its value is set。

Q :描述:變量’p_syncVal’在使用前沒有明確的賦值.如:void bt_sync_end_handle(void) { P_SPEEDBALL_RUN_DATA_T p_syncVal

原创 IAR Error[Li005]: no definition for "GPIO_Init"

Q :爲什麼已經 .c 文件中添加了相關 .h 文件, 工程配置中也已經添加超找路徑,卻報未定義錯誤?P :A :因爲main函數所在工程文件夾中未添加對應的 .c 文件S :在main函數所在工程文件夾中添加對應 .c 文件。

原创 IAR報錯error: taking the address of a bit field is not allowed

P:如圖建立結構體,並調用函數DelayHigh( &(p_logic_dat->Brake0_dy) , &(p_logic_dat->Brake_cnt), 0x60000error: taking the address of a