新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 9G-STM32 EWARM開發過程簡介之二

        9G-STM32 EWARM開發過程簡介之二

        作者: 時間:2016-11-29 來源:網絡 收藏
        9G-STM32 EWARM開發過程簡介之二

        六,移植STM32 LCCD工程

        1,移植GPIO的IOToggle應用

        本文引用地址:http://www.104case.com/article/201611/323212.htm

        A,選擇Workspace”窗口下的“DRV”用“Project”->“Add Files”把“D:workslccd-1.0.0Driversgpio.c”添加到工程;
        D:workslccd-1.0.0Driversgpio.c的源碼如下:
        (參考GPIO/IOToggle/main.c)
        B,修改D:workslccd-1.0.0Sourcemain.c的int main(void) 的while (1)前加上:
        /* Configure the GPIO ports */
        GPIO_Configuration();
        while (1)里面加上:
        {
        printf("*** LCCD V1.0 running %d ",i++);
        GPIO_Test();
        }
        并在文件前添加:
        extern void GPIO_Configuration(void);
        extern void GPIO_Test(void);

        2,移植SYSTICK的應用

        A,在D:workslccd-1.0.0Sourcemain.c的int main(void)添加:
        /* Setup SysTick Timer for 1 msec interrupts */
        if (SysTick_Config(SystemFrequency / 1000))
        {
        /* Capture error */
        while (1);
        }
        B,在D:workslccd-1.0.0Sourcestm32f10x_it.c 的 void SysTick_Handler(void) 加上:
        TimingDelay_Decrement(); 文件前加上:
        extern void TimingDelay_Decrement(void);

        C,選擇Workspace”窗口下的“DRV”用“Project”->“Add Files”把“D:workslccd-1.0.0Drivers ime.c”添加到工程;
        D:workslccd-1.0.0Drivers ime.c的源碼如下:
        (參考SysTick/main.c)

        3,移植DMA的ADC1的應用

        A,修改D:workslccd-1.0.0Sourcemain.c的int main(void) 的while (1)前加上:
        /* ADC1 Configuration */
        ADC_Configuration();
        while (1)里面加上:
        printf("*** LCCD V1.0 running %d adc =%d mv ",i++,(unsigned int)ADC_read());
        并在文件前添加:
        extern void ADC_Configuration(void);
        extern unsigned int ADC_read(void);

        B,在D:workslccd-1.0.0Sourcestm32f10x_it.c 的 void SysTick_Handler(void) 加上:
        ADC_filter();
        文件前加上:
        extern unsigned int ADC_filter(void);

        C,在D:workslccd-1.0.0Includestm32f10x_conf.h 中,打開注釋:
        #include "stm32f10x_adc.h"
        #include "stm32f10x_dma.h"

        D,選擇Workspace”窗口下的“DRV”用“Project”->“Add Files”把“D:workslccd-1.0.0Driversadc.c”添加到工程;
        D:workslccd-1.0.0Driversadc.c的源碼如下:
        (參考ADC/ADC1_DMA/main.c)

        4,移植TIM的PWM應用

        A,修改D:workslccd-1.0.0Sourcemain.c的int main(void) 的while (1)前加上:
        /* TIM1 Configuration */
        TIM2_Configuration();
        /* TIM1 Configuration */
        TIM2_Configuration();
        并在文件前添加:
        extern void TIM1_Configuration(void);
        extern void TIM2_Configuration(void);


        B,選擇Workspace”窗口下的“DRV”用“Project”->“Add Files”把“D:workslccd-1.0.0Drivers im.c”添加到工程;
        D:workslccd-1.0.0Drivers im.c的源碼如下:
        (參考TIM/PWM_Output/main.c)

        5,移植EXTI的外部中斷應用

        A,修改D:workslccd-1.0.0Sourcemain.c的int main(void) 的while (1)前加上:
        /* EXTI Configuration */
        EXTI_Configuration();
        并在文件前添加:
        extern void EXTI_Configuration(void);

        B,在D:workslccd-1.0.0Sourcestm32f10x_it.c 的 void SysTick_Handler(void) 后面加上:
        void EXTI0_IRQHandler(void)
        {
        if(EXTI_GetITStatus(EXTI_Line0) != RESET)
        {
        EXTI_PA0_IRQHandler();
        /* Clear the EXTI_Line9 pending bit */
        EXTI_ClearITPendingBit(EXTI_Line0);
        }
        }
        在文件前加上:
        extern void EXTI_PA0_IRQHandler(void);

        C,在D:workslccd-1.0.0Includestm32f10x_it.h 的 void SysTick_Handler(void) 后面加上
        void EXTI0_IRQHandler(void);

        D,在D:workslccd-1.0.0Includestm32f10x_conf.h 中,打開注釋:
        #include "stm32f10x_exti.h"
        #include "misc.h"

        E,選擇Workspace”窗口下的“DRV”用“Project”->“Add Files”把“D:workslccd-1.0.0Driversexti.c”添加到工程;
        D:workslccd-1.0.0Driversexti.c的源碼如下:
        (NVIC/Priority/main.c)



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 肇源县| 天津市| 丁青县| 樟树市| 中方县| 吐鲁番市| 白朗县| 木里| 东乡县| 兴海县| 伊金霍洛旗| 新河县| 栾川县| 海阳市| 如皋市| 枣强县| 东城区| 陇川县| 新邵县| 穆棱市| 洪泽县| 巴青县| 娄底市| 迁西县| 拜城县| 惠安县| 彭水| 遂平县| 阿克苏市| 万安县| 剑川县| 宽城| 麻城市| 乌兰县| 怀来县| 凌海市| 井冈山市| 永靖县| 宣化县| 阿巴嘎旗| 汤原县|