資源簡介
***********所有代碼均注釋標記意義、功能(內含作者郵箱,可聯系)**************
代碼目的:
函數發生器要求可輸出三種不同的波形(三角波、方波、正弦波(0~3.3V電壓)),故需鍵盤模塊控制信號切換;關于過載保護功能,也需要設置相應按鍵停止/中斷系統工作。
程序流程:
程序啟動時,OLED、按鍵和定時器先進行初始化,隨后通過判斷按鍵狀態選擇顯示波形種類,OLED屏幕顯示波形種類及頻率信息,之后通過STM32單片機內部經過特定波形算法計算出電壓值,再通過D/A轉換成模擬信號,信號輸出前體現過載保護功能,先通過按鍵判斷是否需要進行復位中斷,復位按鍵沒按下時輸出信號。

代碼片段和文件信息
/**************************************************************************//**
?*?@file?????core_cm3.c
?*?@brief????CMSIS?Cortex-M3?Core?Peripheral?Access?layer?Source?File
?*?@version??V1.30
?*?@date?????30.?October?2009
?*
?*?@note
?*?Copyright?(C)?2009?ARM?Limited.?All?rights?reserved.
?*
?*?@par
?*?ARM?Limited?(ARM)?is?supplying?this?software?for?use?with?Cortex-M?
?*?processor?based?microcontrollers.??This?file?can?be?freely?distributed?
?*?within?development?tools?that?are?supporting?such?ARM?based?processors.?
?*
?*?@par
?*?THIS?SOFTWARE?IS?PROVIDED?“AS?IS“.??NO?WARRANTIES?WHETHER?EXPRESS?IMPLIED
?*?OR?STATUTORY?INCLUDING?BUT?NOT?LIMITED?TO?IMPLIED?WARRANTIES?OF
?*?MERCHANTABILITY?AND?FITNESS?FOR?A?PARTICULAR?PURPOSE?APPLY?TO?THIS?SOFTWARE.
?*?ARM?SHALL?NOT?IN?ANY?CIRCUMSTANCES?BE?LIABLE?FOR?SPECIAL?INCIDENTAL?OR
?*?CONSEQUENTIAL?DAMAGES?FOR?ANY?REASON?WHATSOEVER.
?*
?******************************************************************************/
#include?
/*?define?compiler?specific?symbols?*/
#if?defined?(?__CC_ARM???)
??#define?__ASM????????????__asm??????????????????????????????????????/*!??#define?__INLINE?????????__inline???????????????????????????????????/*!
#elif?defined?(?__ICCARM__?)
??#define?__ASM???????????__asm???????????????????????????????????????/*!??#define?__INLINE????????inline??????????????????????????????????????/*!
#elif?defined???(??__GNUC__??)
??#define?__ASM????????????__asm??????????????????????????????????????/*!??#define?__INLINE?????????inline?????????????????????????????????????/*!
#elif?defined???(??__TASKING__??)
??#define?__ASM????????????__asm??????????????????????????????????????/*!??#define?__INLINE?????????inline?????????????????????????????????????/*!
#endif
/*?###################??Compiler?specific?Intrinsics??###########################?*/
#if?defined?(?__CC_ARM???)?/*------------------RealView?Compiler?-----------------*/
/*?ARM?armcc?specific?functions?*/
/**
?*?@brief??Return?the?Process?Stack?Pointer
?*
?*?@return?ProcessStackPointer
?*
?*?Return?the?actual?process?stack?pointer
?*/
__ASM?uint32_t?__get_PSP(void)
{
??mrs?r0?psp
??bx?lr
}
/**
?*?@brief??Set?the?Process?Stack?Pointer
?*
?*?@param??topOfProcStack??Process?Stack?Pointer
?*
?*?Assign?the?value?ProcessStackPointer?to?the?MSP?
?*?(process?stack?pointer)?Cortex?processor?register
?*/
__ASM?void?__set_PSP(uint32_t?topOfProcStack)
{
??msr?psp?r0
??bx?lr
}
/**
?*?@brief??Return?the?Main?Stack?Pointer
?*
?*?@return?Main?Stack?Pointer
?*
?*?Return?the?curren
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2019-04-12?15:52??程序\
?????目錄???????????0??2019-04-12?15:52??程序\CORE\
?????文件???????17273??2010-06-07?10:25??程序\CORE\core_cm3.c
?????文件???????85714??2011-02-09?14:59??程序\CORE\core_cm3.h
?????文件???????15503??2011-03-10?10:52??程序\CORE\startup_stm32f10x_hd.s
?????文件???????12765??2011-03-10?10:52??程序\CORE\startup_stm32f10x_md.s
?????目錄???????????0??2019-05-15?15:00??程序\HARDWARE\
?????目錄???????????0??2019-05-15?20:12??程序\HARDWARE\DAC\
?????文件????????1892??2019-05-15?20:12??程序\HARDWARE\DAC\dac.c
?????文件?????????671??2012-09-16?14:13??程序\HARDWARE\DAC\dac.h
?????目錄???????????0??2019-05-27?22:25??程序\HARDWARE\Global\
?????文件?????????350??2019-05-27?22:22??程序\HARDWARE\Global\Global.c
?????文件?????????887??2019-05-27?22:25??程序\HARDWARE\Global\Global.h
?????目錄???????????0??2019-05-15?20:17??程序\HARDWARE\KEY\
?????文件?????????473??2019-05-15?20:17??程序\HARDWARE\KEY\key.c
?????文件?????????420??2019-05-15?20:17??程序\HARDWARE\KEY\key.h
?????目錄???????????0??2019-05-06?14:53??程序\HARDWARE\OLED\
?????文件????????5586??2014-10-26?21:07??程序\HARDWARE\OLED\bmp.h
?????文件????????8790??2019-05-06?14:53??程序\HARDWARE\OLED\oled.c
?????文件????????2588??2019-04-12?19:12??程序\HARDWARE\OLED\oled.h
?????文件???????16333??2019-04-13?12:16??程序\HARDWARE\OLED\oledfont.h
?????目錄???????????0??2019-04-20?16:28??程序\HARDWARE\PWM\
?????文件????????2376??2019-04-20?12:53??程序\HARDWARE\PWM\pwm.c
?????文件?????????106??2019-04-20?16:28??程序\HARDWARE\PWM\pwm.h
?????目錄???????????0??2019-05-15?20:14??程序\HARDWARE\TIMER\
?????文件????????2840??2019-05-15?20:14??程序\HARDWARE\TIMER\timer.c
?????文件?????????201??2019-04-20?16:28??程序\HARDWARE\TIMER\timer.h
?????目錄???????????0??2019-06-11?08:21??程序\OBJ\
?????文件??????????19??2019-04-20?13:53??程序\OBJ\ExtDll.iex
?????文件??????385240??2019-06-11?08:21??程序\OBJ\OLED.axf
?????文件????????2297??2019-06-11?08:21??程序\OBJ\OLED.build_log.htm
............此處省略185個文件信息
- 上一篇:IDM6.31build2.rar
- 下一篇:叮叮書店案列源碼
評論
共有 條評論