娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2025年04月23日(星期三)

正在發生

2018年04月23日 | ARM CMSIS Driver 學習 之 USART

發布者:知識智慧 來源: eefocus關鍵字:ARM  CMSIS  Driver  USART 手機看文章 掃描二維碼
隨時隨地手機看文章

 最近把 MDK 升級到了 V5.25 ,發現 Managing Run-Time Environment 中已經有好多好多的庫。相比之前已經好了太多太多,從底層驅動,到上層協議棧,常用的有不常用的也有。發現 ARM 對這套系統的更新速度加快了一些,覺得有必要學習一下。從驅動開始學起,先學 USART API 詳細介紹見 CMSIS Driver USART API

USART 把收到的數據再發出去程序

/** 

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

  * @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();  

  }  

}  


關鍵字:ARM  CMSIS  Driver  USART 引用地址:ARM CMSIS Driver 學習 之 USART

上一篇:ARM CMSIS Driver 學習 之 SPI
下一篇:STM32F4 C++ 封裝庫 之 EXTI

推薦閱讀

  據近日發布的《中國電池產業投融資與并購戰略研究(2012)》顯示,隨著國家環保部門對行業整頓力度的加大以及行業標準的提高,未來3年該行業將有三分之二落后產能面臨淘汰,鉛酸蓄電池的廠商將由2000多家減少到不會超過300家,整個行業集中度有望得到提高。下面就隨電源管理小編一起來了解一下相關內容吧。  由工信部和環境保護部牽頭制定的《鉛蓄電池...
就在近些年里,家具這個行業的競爭已經越來越激烈了,特別是高端領域更是所有廠商的關注重點。很多家家電企業現在都已經就入了智能高端領域,像是美的,海爾等等?,F在大家的收入都在逐步增加,而這也代表著他們對生活質量的要求會變得更高。他們除了會關注產品的質量之外,還會重視新產品的升級,和科技的融合等等。而在這些產品中,其中做的最成功的一款...
內存和存儲解決方案領先供應商 Micron Technology Inc.與摩托羅拉公司聯合宣布,摩托羅拉新推出的motorola edge+ 智能手機已搭載美光的低功耗 DDR5(LPDDR5)DRAM 芯片,從而為用戶帶來完整的 5G 體驗。美光與摩托羅拉緊密協作,依托高帶寬的內存及頂級處理性能,使 edge+ 手機能充分利用 5G 網絡的速度。 motorola edge+ 搭載了業界領先的...
Cadence 推出全新 DSP面向高端應用和始終在線應用,擴展廣受歡迎的 Tensilica Vision 和 AI DSP IP 產品系列Vision Q8 和 Vision P1 DSP 擴展了對汽車、移動和消費電子市場的支持中國上海,2021 年 4 月 23 日——楷登電子(今日宣布,現已擴展其廣受歡迎的 Tensilica? Vision DSP 產品系列,面向嵌入式視覺和 AI 應用推出兩款...

史海拾趣

問答坊 | AI 解惑

GENESYS 2007.08 License

安捷倫科技有限公司暢銷的射頻EDA軟件。…

查看全部問答∨

合作伙伴

職位要求 1.        本科以上學歷,電子、自動化等相關專業 2.        熟練掌握 C 語言,熟悉匯編語言。 3.        熟練掌握 DSP 的開發環境 4 ...…

查看全部問答∨

無線型睡眠呼吸暫停癥監視系統淺析

           前言 人生約有三分之一的時間在睡眠中度過,良好的睡眠是保證身體健康的必要條件。睡眠呼吸暫停癥(sleep apnea)是一種很常見的睡眠呼吸疾病,據調查,在美國約有24%的成年男性及9%成年女 ...…

查看全部問答∨

LPC1114FBD48

您好:    請幫我申請LPC1114FBD48樣片,謝謝!…

查看全部問答∨

wince6.0 oal層的問題

各位大俠,在wince6.0 oal層里面怎么可以調用createfile 等winapi函數啊. 非常感謝!!!!!…

查看全部問答∨

WinCE 5.0 EBoot 和 PB 連接問題。

eboot 中設置好了 IP 地址和 MAC 地址,選擇 D 開始下載。串口輸出一系列 Sent BOOTME to 255.255.255.255,但是在PB下面始終找不到設備,這個大概是什么原因? …

查看全部問答∨

今天高興,散分100!(取之于民,用之于民)

今天高興,散分100!(取之于民,用之于民)…

查看全部問答∨

tornado安裝問題

請高手幫忙: 問下tornado的安裝過程中,如果從開始菜單直接運行tornado,會提示錯誤,這是因為安裝還沒有完成,在C盤Tornado2.2文件夾下你會發現一個setup.log文件,用ultraedit或vim打開,在最后一行你會發現一個注冊表鍵值,進入注冊表,找到這 ...…

查看全部問答∨

新手請教大家一個問題啊,謝謝

我想問一下,單片機項目開發,是從硬件開始,然后是軟件,比如我做一個簡單的流水燈試驗,要買哪些零件啊,并且如何焊接啊, 如何設計原理圖啊,我真的不知道從何下手,高手教教我啊,謝謝了…

查看全部問答∨

有關I2C設置波特率的問題

s3c2410的板子 IICCON=IICCON_ACKEN|IICCON_CLK512|IICCON_INTR|IICCON_CLKPRE(0x3) 這條設置的波特率是多少?有誰知道嗎? 還有若要設置成9600bps應該如何修改?…

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 宝清县| 无极县| 眉山市| 昌吉市| 个旧市| 万山特区| 宁明县| 恭城| 浦县| 抚顺县| 曲水县| 江都市| 凤翔县| 缙云县| 名山县| 洛宁县| 神木县| 乌拉特前旗| 大英县| 丁青县| 太和县| 黔西县| 新巴尔虎左旗| 达州市| 澎湖县| 方正县| 高唐县| 普安县| 崇州市| 任丘市| 志丹县| 浦县| 沈丘县| 美姑县| 灵宝市| 壤塘县| 手机| 玉林市| 兰州市| 比如县| 洛阳市|