新聞中心

        EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 9G-STM32 MDK-ARM開(kāi)發(fā)過(guò)程簡(jiǎn)介

        9G-STM32 MDK-ARM開(kāi)發(fā)過(guò)程簡(jiǎn)介

        作者: 時(shí)間:2016-11-29 來(lái)源:網(wǎng)絡(luò) 收藏

        附件:
        1,serial.c 文件
        /* Includes ------------------------------------------------------------------*/
        #include "stm32f10x.h"
        #include "stm32f10x_conf.h"
        #include
        /* Private typedef -----------------------------------------------------------*/
        /* Private define ------------------------------------------------------------*/
        /* Private macro -------------------------------------------------------------*/
        /* Private variables ---------------------------------------------------------*/
        USART_InitTypeDef USART_InitStructure;
        GPIO_InitTypeDef GPIO_InitStructure;

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

        /* Private function prototypes -----------------------------------------------*/
        /* Private functions ---------------------------------------------------------*/
        void UART_Configuration(void)
        {
        /* Enable USART1 clocks */
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_USART1, ENABLE);

        /* Configure USART1_Tx as alternate function push-pull */
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
        GPIO_Init(GPIOA, &GPIO_InitStructure);

        /* Configure USART1_Rx as input floating */
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
        GPIO_Init(GPIOA, &GPIO_InitStructure);
        /* USARTx configured as follow:
        - BaudRate = 115200 baud
        - Word Length = 8 Bits
        - One Stop Bit
        - No parity
        - Hardware flow control disabled (RTS and CTS signals)
        - Receive and transmit enabled
        */
        USART_InitStructure.USART_BaudRate = 115200;
        USART_InitStructure.USART_WordLength = USART_WordLength_8b;
        USART_InitStructure.USART_StopBits = USART_StopBits_1;
        USART_InitStructure.USART_Parity = USART_Parity_No;
        USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
        USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;

        // STM_EVAL_COMInit(COM1, &USART_InitStructure);
        /* Configure the USARTx */
        USART_Init(USART1, &USART_InitStructure);
        /* Enable the USARTx */
        USART_Cmd(USART1, ENABLE);
        }

        /**
        * @brief Retargets the C library printf function to the USART.
        * @param None
        * @retval None
        */
        int fputc(int ch, FILE *f)
        {
        /* Place your implementation of fputc here */
        /* e.g. write a character to the USART */
        USART_SendData(USART1, (uint8_t) ch);

        /* Loop until the end of transmission */
        while(USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET)
        {}

        return ch;
        }

        #ifdef USE_FULL_ASSERT

        /**
        * @brief Reports the name of the source file and the source line number
        * where the assert_param error has occurred.
        * @param file: pointer to the source file name
        * @param line: assert_param error line source number
        * @retval None
        */
        void assert_failed(uint8_t* file, uint32_t line)
        {
        /* User can add his own implementation to report the file name and line number,
        ex: printf("Wrong parameters value: file %s on line %d", file, line) */
        printf("Wrong parameters value: file %s on line %d", file, line);
        /* Infinite loop */
        while (1)
        {
        }
        }
        #endif
        /******************* (C) COPYRIGHT 2009 STMicroelectronics *****END OF FILE****/

        2,main.c文件

        /* Includes ------------------------------------------------------------------*/
        #include "stm32f10x.h"
        #include "stm32f10x_conf.h"
        #include
        /* Private typedef -----------------------------------------------------------*/
        /* Private define ------------------------------------------------------------*/
        /* Private macro -------------------------------------------------------------*/
        /* Private variables ---------------------------------------------------------*/
        /* Private function prototypes -----------------------------------------------*/
        /* Private functions ---------------------------------------------------------*/
        extern void UART_Configuration(void);
        /**
        * @brief Main program.
        * @param None
        * @retval None
        */
        int main(void)
        {
        /* Setup STM32 system (clock, PLL and Flash configuration) */
        SystemInit();

        UART_Configuration();

        /* Output a message on Hyperterminal using printf function */
        printf("");
        printf("*** STM32-MDK V1.0 Build byyuanxihua@21cn.comon ("__DATE__ " - " __TIME__ ")");
        printf("*** STM32-MDK V1.0 Rebooting ...");

        /* Add your application code here
        */

        /* Infinite loop */
        while (1)
        {
        }
        }
        /******************* (C) COPYRIGHT 2009 STMicroelectronics *****END OF FILE****/


        上一頁(yè) 1 2 下一頁(yè)

        關(guān)鍵詞: STM32MDKARM開(kāi)

        評(píng)論


        技術(shù)專(zhuān)區(qū)

        關(guān)閉
        主站蜘蛛池模板: 茶陵县| 东乌| 增城市| 天峨县| 滨海县| 龙海市| 陕西省| 武城县| 达孜县| 卢龙县| 九江市| 道孚县| 遵义县| 五家渠市| 溧水县| 伊川县| 河池市| 唐河县| 西平县| 东明县| 商丘市| 正蓝旗| 建德市| 屯留县| 玉龙| 汉中市| 齐河县| 大厂| 紫金县| 平谷区| 武隆县| 宿松县| 大荔县| 永嘉县| 广南县| 道真| 保德县| 元谋县| 措美县| 九龙城区| 铜鼓县|