日韩一区二区三区精品,欧美疯狂xxxxbbbb牲交,热99re久久免费视精品频,人妻互换 综合,欧美激情肉欲高潮视频

 最近把 MDK 升級(jí)到了 V5.25 ,發(fā)現(xiàn) Managing Run-Time Environment 中已經(jīng)有好多好多的庫(kù)。相比之前已經(jīng)好了太多太多,從底層驅(qū)動(dòng),到上層協(xié)議棧,常用的有不常用的也有。發(fā)現(xiàn) ARM 對(duì)這套系統(tǒng)的更新速度加快了一些,覺(jué)得有必要學(xué)習(xí)一下。從驅(qū)動(dòng)開(kāi)始學(xué)起,先學(xué) USART API 詳細(xì)介紹見(jiàn) CMSIS Driver USART API

USART 把收到的數(shù)據(jù)再發(fā)出去程序

/** 

  ****************************************************************************** 

  * @file    main.c 

  * @author  XinLi 

  * @version v1.0 

  * @date    20-March-2018 

  * @brief   Main program body. 

  ****************************************************************************** 

  * @attention 

  * 

  *

Copyright © 2018 XinLi

 

  * 

  * This program is free software: you can redistribute it and/or modify 

  * it under the terms of the GNU General Public License as published by 

  * the Free Software Foundation, either version 3 of the License, or 

  * (at your option) any later version. 

  * 

  * This program is distributed in the hope that it will be useful, 

  * but WITHOUT ANY WARRANTY; without even the implied warranty of 

  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 

  * GNU General Public License for more details. 

  * 

  * You should have received a copy of the GNU General Public License 

  * along with this program.  If not, see

  * 

  ****************************************************************************** 

  */  

  

/* Header includes -----------------------------------------------------------*/  

#include "stm32f4xx.h"  

#include "Driver_USART.h"  

#include  

  

/* Macro definitions ---------------------------------------------------------*/  

/* Type definitions ----------------------------------------------------------*/  

/* Variable declarations -----------------------------------------------------*/  

extern ARM_DRIVER_USART Driver_USART1;  

  

/* Variable definitions ------------------------------------------------------*/  

static uint8_t rxBuffer[1024] = {0};  

static uint8_t txBuffer[1024] = {0};  

  

/* Function declarations -----------------------------------------------------*/  

static void USART1_Callback(uint32_t event);  

static void SystemClock_Config(void);  

  

/* Function definitions ------------------------------------------------------*/  

  

/** 

  * @brief  Main program. 

  * @param  None. 

  * @return None. 

  */  

int main(void)  

{  

  /* STM32F4xx HAL library initialization: 

       - Configure the Flash prefetch, instruction and Data caches 

       - Configure the Systick to generate an interrupt each 1 msec 

       - Set NVIC Group Priority to 4 

       - Global MSP (MCU Support Package) initialization 

     */  

  HAL_Init();  

    

  /* Configure the system clock to 168 MHz */  

  SystemClock_Config();  

    

  Driver_USART1.Initialize(USART1_Callback);  

  Driver_USART1.PowerControl(ARM_POWER_FULL);  

  Driver_USART1.Control(ARM_USART_MODE_ASYNCHRONOUS |  

                        ARM_USART_DATA_BITS_8 |  

                        ARM_USART_PARITY_NONE |  

                        ARM_USART_STOP_BITS_1 |  

                        ARM_USART_FLOW_CONTROL_NONE, 115200);  

  Driver_USART1.Control(ARM_USART_CONTROL_TX, 1);  

  Driver_USART1.Control(ARM_USART_CONTROL_RX, 1);  

    

  Driver_USART1.Receive(rxBuffer, sizeof(rxBuffer));  

    

  for(;;)  

  {  

      

  }  

}  

  

/** 

  * @brief  USART1 callback function. 

  * @param  event: USART events notification mask. 

  * @return None. 

  */  

static void USART1_Callback(uint32_t event)  

{  

  if(event & ARM_USART_EVENT_RX_TIMEOUT)  

  {  

    Driver_USART1.Control(ARM_USART_ABORT_RECEIVE, 1);  

      

    uint32_t length = Driver_USART1.GetRxCount();  

      

    memcpy(txBuffer, rxBuffer, length);  

      

    Driver_USART1.Send(txBuffer, length);  

    Driver_USART1.Receive(rxBuffer, sizeof(rxBuffer));  

  }  

}  

  

/** 

  * @brief  System Clock Configuration 

  *         The system Clock is configured as follow :  

  *            System Clock source            = PLL (HSE) 

  *            SYSCLK(Hz)                     = 168000000 

  *            HCLK(Hz)                       = 168000000 

  *            AHB Prescaler                  = 1 

  *            APB1 Prescaler                 = 4 

  *            APB2 Prescaler                 = 2 

  *            HSE Frequency(Hz)              = 8000000 

  *            PLL_M                          = 8 

  *            PLL_N                          = 336 

  *            PLL_P                          = 2 

  *            PLL_Q                          = 7 

  *            VDD(V)                         = 3.3 

  *            Main regulator output voltage  = Scale1 mode 

  *            Flash Latency(WS)              = 5 

  * @param  None 

  * @retval None 

  */  

static void SystemClock_Config(void)  

{  

  RCC_ClkInitTypeDef RCC_ClkInitStruct;  

  RCC_OscInitTypeDef RCC_OscInitStruct;  

  

  /* Enable Power Control clock */  

  __HAL_RCC_PWR_CLK_ENABLE();  

  

  /* The voltage scaling allows optimizing the power consumption when the device is  

     clocked below the maximum system frequency, to update the voltage scaling value  

     regarding system frequency refer to product datasheet.  */  

  __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);  

  

  /* Enable HSE Oscillator and activate PLL with HSE as source */  

  RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;  

  RCC_OscInitStruct.HSEState = RCC_HSE_ON;  

  RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;  

  RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;  

  RCC_OscInitStruct.PLL.PLLM = 8;  

  RCC_OscInitStruct.PLL.PLLN = 336;  

  RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2;  

  RCC_OscInitStruct.PLL.PLLQ = 7;  

  HAL_RCC_OscConfig(&RCC_OscInitStruct);  

    

  /* Select PLL as system clock source and configure the HCLK, PCLK1 and PCLK2  

     clocks dividers */  

  RCC_ClkInitStruct.ClockType = (RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2);  

  RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;  

  RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;  

  RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV4;    

  RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2;    

  HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_5);  

  

  /* STM32F405x/407x/415x/417x Revision Z devices: prefetch is supported  */  

  if (HAL_GetREVID() == 0x1001)  

  {  

    /* Enable the Flash prefetch */  

    __HAL_FLASH_PREFETCH_BUFFER_ENABLE();  

  }  

}  


關(guān)鍵字:ARM  CMSIS  Driver  USART 引用地址:ARM CMSIS Driver 學(xué)習(xí) 之 USART

上一篇:ARM CMSIS Driver 學(xué)習(xí) 之 SPI
下一篇:STM32F4 C++ 封裝庫(kù) 之 EXTI

推薦閱讀

  “每次技術(shù)革命的周期都是大約50年,而且有一個(gè)規(guī)律,前20年是技術(shù)研發(fā)的革命,新技術(shù)層出不窮,一批批涌現(xiàn);到了后30年,進(jìn)入技術(shù)應(yīng)用,新技術(shù)開(kāi)始和傳統(tǒng)產(chǎn)業(yè)相結(jié)合,新產(chǎn)業(yè)不斷出現(xiàn),真正影響生活的方方面面。”下面就隨網(wǎng)絡(luò)通信小編一起來(lái)了解一下相關(guān)內(nèi)容吧。  2016年11月,在烏鎮(zhèn)舉行的第三屆世界互聯(lián)網(wǎng)大會(huì)開(kāi)幕式上,阿里巴巴創(chuàng)始人馬云如是說(shuō)...
近日,國(guó)網(wǎng)河北省電力有限公司出臺(tái)推進(jìn)電能替代提質(zhì)增效工作方案,深入拓展電能替代市場(chǎng),計(jì)劃2019年完成替代電量90億千瓦時(shí),全面提升電能替代發(fā)展質(zhì)量和綜合效益。 今年,河北電力全面落實(shí)國(guó)家電網(wǎng)公司“三型兩網(wǎng)、世界一流”戰(zhàn)略目標(biāo),總結(jié)推廣電能替代模式創(chuàng)新試點(diǎn)經(jīng)驗(yàn),建設(shè)面向政企客戶和居民客戶的前端服務(wù)團(tuán)隊(duì),提高電能替代重點(diǎn)技術(shù)覆蓋率,...
其中的幾個(gè)點(diǎn):預(yù)處理Preprocessor - 添加路徑,這個(gè)是頭文件路徑STM8和STM32必須要預(yù)編譯型號(hào)下面的是問(wèn)題:路徑有中文的問(wèn)題會(huì)出現(xiàn)以上的錯(cuò)誤,導(dǎo)致一系列的問(wèn)題關(guān)閉源文件再次打開(kāi)字體變化了如圖的√去掉就可以了,因?yàn)樘砑恿酥形牡淖⑨?,軟件是英文的,字符轉(zhuǎn)換的問(wèn)題接下來(lái)來(lái)是調(diào)試問(wèn)題連接不上的問(wèn)題,查看驅(qū)動(dòng),如果是顯示Unknown Devicer,重裝...
中興旗下今年將推出三系列的驍龍888機(jī)型,包括中興AXON 30系列、紅魔6系列、努比亞 Z系列。前兩者均已發(fā)布,但努比亞遲遲沒(méi)有消息。數(shù)碼博主 @禿然熊貓 透露,除 Z 系列外,努比亞還有另一款驍龍888機(jī)型,搭載4100mAh 電池,但他沒(méi)有透露更多信息。此外,他還放出了一張工信部的證件照,但目前工信部近期公開(kāi)的機(jī)型中僅有一部 ZTE 7530N 未知,且證...

史海拾趣

小廣播
設(shè)計(jì)資源 培訓(xùn) 開(kāi)發(fā)板 精華推薦

最新單片機(jī)文章

 
EEWorld訂閱號(hào)

 
EEWorld服務(wù)號(hào)

 
汽車(chē)開(kāi)發(fā)圈

 
機(jī)器人開(kāi)發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號(hào) 京ICP備10001474號(hào)-1 電信業(yè)務(wù)審批[2006]字第258號(hào)函 京公網(wǎng)安備 11010802033920號(hào) Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved