只寫了兩個任務,用了下信號量。
因為覺得實際工程對于移植參考價值比較大,供移植新手參考,程序很丑陋。但是運行沒問題。
全部資料51hei下載地址:
AN074_Examples_HR8P506-ucos3信號量可用.rar
(2.91 MB, 下載次數: 29)
2018-5-24 17:57 上傳
點擊文件名下載附件
HR8P506庫函數修改記錄
1. StartUp 文件夾分分成MDK_StartUp和iDesigner_StartUp,分別存放MDK和iDesigner的啟動文件。Project文件夾分成MDK_Project和iDesigner_Project,分別存放MDK和iDesigner的工程文件。
2. GPIO庫函數增加接口
void GPIO_SetBit(GPIO_Pin Pin);
void GPIO_ResetBit(GPIO_Pin Pin);
void GPIO_ToggleBit(GPIO_Pin Pin);
分別對GPIO進行置位,清零,取反操作。
3. lib_wdt.h 修改 " #define WDT_RegUnLock() (WDT->LOCK.Word = 1ACCE551)"為"#define WDT_RegUnLock() (WDT->LOCK.Word = 0x1ACCE551)"。
4.文件作者修改為ESM Application Team
5.所有MDK工程加入--bitband功能。
6.對lib_timer.h,lib_timer.c庫函數進行了較大幅度的修改,并對相關DEMO程序進行了修改。
7.在lib_SCU.c中增加了SCU_OpenXTAL()函數,用來開啟外部時鐘。
8 .if(ADC_InitStruct->VREFP == ADC_VREFP_IO)
ADC->CON1.VRBUF_EN = ENABLE;
修改為
if((ADC_InitStruct->VREFP == ADC_VREFP_IO)||(ADC_InitStruct->VREFP == ADC_VREFP_VREF))
ADC->CON1.VRBUF_EN = ENABLE;
else
ADC->CON1.VRBUF_EN = DISABLE;
9.lib_scu.c,lib_scu.h 添加DeviceClock_Config 函數,以函數入參形式配置是否使能外設時鐘。刪除使能或不使能外設時鐘的宏定義。
void DeviceClock_Config(SUC_TYPE_Periph tppe_periph ,TYPE_FUNCEN NewState );
10. ADC初始化結構體變量中的VRBUF_EN在初始化函數中已固定配置,可以刪除VRBUF_EN變量以及相關的賦值。 已經刪除ADC_InitStruType中的VRBUF_EN。
11. lib_timer.c中增加PRECNT寄存器的設置函數,刪除T16Nx_BaseInit函數中最后兩句 T16Nx->PRECNT.PRECN=0和 T16Nx->CON0.ASYWEN =T16Nx_BaseInitStruct->T16Nx_ASYWEN; 在CNT和PRECNT設置函數中增加T16Nx_ASYWEN關閉和打開,即寫之前打開寫使能,寫完后關閉寫使能。修改完畢。
12. /* LVD中斷標志位清除 */
#define SCU_LVDClearIFBit() (SCU->LVDCON.IF = 0)改為
#define SCU_LVDClearIFBit() (SCU->LVDCON.IF = 1)
13. 增加PLL配置函數
/***************************************************************
函數名:PLLClock_Config
描 述:PLL時鐘配置,并設置PLL時鐘為系統時鐘
輸入值:pll_en:是否開啟PLL,pll_origin:pll時鐘源選擇,pll_out:pll輸出頻率選擇,sys_pll:系統時鐘是否使用PLL時鐘
輸出值:無
返回值:無
***************************************************************/
void PLLClock_Config(TYPE_FUNCEN pll_en , SCU_PLL_Origin pll_origin ,SCU_PLL_Out pll_out,TYPE_FUNCEN sys_pll )
14.demo程序同步庫函數修改
-------------------------------------------------------------------------
V1.2.1
-------------------------------------------------------------------------
15.為所有工程添加InitRam.c,并且修改_Startup.S文件,增加InitRam
函數,修改flash_demo和Iapdemo,使Flash相關操作在RAM中運行。
16.修改了hr8p506_iap_table.c和hr8p506_iap_table.h,增加了IAPRead函數
17.修改了HR8P506_startup.s, 增加了IP模塊校準值加載代碼
18.更新了InitRam.c函數
19.更新了system_HR8P506.c 中SystemCoreClock = 16000000
20.更新了RTC->CON.PON 清零在RTC初始化時的順序
21.修改了項目中InitRam.c函數存放路徑, 從原先的Library文件夾改到iDesigner_StartUp文件夾
2017.6.27
1.修改Library文件夾內文本格式,符合Linux編程規范。
2.檢測并修改庫文件中清除中斷標志位的函數。清除時由以前的 “|=” 改為 “=”。
2017.7.4
1.去除RTC里面不支持bitband的寄存器的位定義,并修改相應的demo
2.宏定義WDT_Clear()改為{WDT_RegUnLock();WDT->INTCLR.Word = 0;WDT_RegLock();}
2017.7.5
1.去除頭文件里RTC_YMDW的位定義,并修改相關demo程序
2017.7.10
1.修改lib_adc.c ,lib_adc.h 增加ADC_GetIEStatus函數和 ADC_TYPE_IE 枚舉體 。
2.lib_uart.c 增加UART_AutoBaudConfig,自動檢測并設置波特率。
3.lib_euart.c 修改了發送接收函數,U7816變為EUART。
-------------------------------------------------------------------------
V1.2.2
-------------------------------------------------------------------------
2017.7.28
1."SCU_OpenXTAL"函數增加“SCU->SCLKEN0.XTAL_LP = 0;”
2017.7.32
1."PLLClock_Config"函數增加“SCU->SCLKEN0.XTAL_LP = 0;”
|