中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

wordpress可以管理現(xiàn)有網(wǎng)啊深圳網(wǎng)站優(yōu)化推廣方案

wordpress可以管理現(xiàn)有網(wǎng)啊,深圳網(wǎng)站優(yōu)化推廣方案,保定學(xué)校網(wǎng)站建設(shè),微信小程序公司網(wǎng)站怎么制作參考文檔:野火STM32F103 1. Direct Memory Access-直接內(nèi)存訪問 DMA控制器獨(dú)立于內(nèi)核 是一個單獨(dú)的外設(shè) DMA1有7個通道DMA2有5個通道DMA有四個等級,非常高,高,中,低四個優(yōu)先級如果優(yōu)先等級相同,通道編號越…

參考文檔:野火STM32F103

1. Direct Memory Access-直接內(nèi)存訪問

DMA控制器獨(dú)立于內(nèi)核
是一個單獨(dú)的外設(shè)

  • DMA1有7個通道
  • DMA2有5個通道
  • DMA有四個等級,非常高,高,中,低四個優(yōu)先級
  • 如果優(yōu)先等級相同,通道編號越小優(yōu)先級越高
  • 數(shù)據(jù)流向: 存儲器到存儲器,存儲器到外設(shè),外設(shè)到存儲器
  • 單次傳輸或循環(huán)傳輸
  • 傳輸過半中斷,傳輸完成中斷,傳輸錯誤中斷

2. 串口示例

  1. 初始化

// 定義一個GPIO初始化結(jié)構(gòu)體,并初始化為0
GPIO_InitTypeDef GPIO_InitStruct = {0};// 檢查當(dāng)前USART實(shí)例是否為USART1
if(uartHandle->Instance==USART1)
{// 用戶自定義代碼區(qū)域開始(USART1_MspInit 0)/* USER CODE BEGIN USART1_MspInit 0 */// 用戶自定義代碼區(qū)域結(jié)束(USART1_MspInit 0)/* USER CODE END USART1_MspInit 0 */// 使能USART1時鐘__HAL_RCC_USART1_CLK_ENABLE();// 使能GPIOA時鐘__HAL_RCC_GPIOA_CLK_ENABLE();// USART1 GPIO配置說明/**USART1 GPIO ConfigurationPA9     ------> USART1_TXPA10     ------> USART1_RX*/// 配置GPIO引腳GPIO_InitStruct.Pin = GPIO_PIN_9|GPIO_PIN_10; // 選擇PA9和PA10引腳GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;       // 設(shè)置為復(fù)用推挽輸出模式GPIO_InitStruct.Pull = GPIO_NOPULL;           // 不使用上拉或下拉電阻GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; // 設(shè)置最高頻率GPIO_InitStruct.Alternate = GPIO_AF4_USART1;  // 選擇USART1復(fù)用功能HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);       // 初始化GPIO// USART1 DMA初始化// USART1_TX DMA通道初始化hdma_usart1_tx.Instance = DMA1_Channel2;      // 選擇DMA1通道2hdma_usart1_tx.Init.Request = DMA_REQUEST_3;  // 選擇DMA請求3hdma_usart1_tx.Init.Direction = DMA_MEMORY_TO_PERIPH; // 數(shù)據(jù)傳輸方向:內(nèi)存到外設(shè)hdma_usart1_tx.Init.PeriphInc = DMA_PINC_DISABLE;     // 禁用外設(shè)地址遞增hdma_usart1_tx.Init.MemInc = DMA_MINC_ENABLE;         // 啟用內(nèi)存地址遞增hdma_usart1_tx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE; // 外設(shè)數(shù)據(jù)對齊方式:字節(jié)hdma_usart1_tx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE;   // 內(nèi)存數(shù)據(jù)對齊方式:字節(jié)hdma_usart1_tx.Init.Mode = DMA_NORMAL;                 // 設(shè)置為普通模式hdma_usart1_tx.Init.Priority = DMA_PRIORITY_LOW;       // 設(shè)置優(yōu)先級為低if (HAL_DMA_Init(&hdma_usart1_tx) != HAL_OK)           // 初始化DMA{Error_Handler();                                     // 如果初始化失敗,調(diào)用錯誤處理函數(shù)}// 將DMA與USART1_TX關(guān)聯(lián)__HAL_LINKDMA(uartHandle,hdmatx,hdma_usart1_tx);// USART1中斷初始化HAL_NVIC_SetPriority(USART1_IRQn, 2, 0);               // 設(shè)置USART1中斷優(yōu)先級HAL_NVIC_EnableIRQ(USART1_IRQn);                       // 使能USART1中斷// 用戶自定義代碼區(qū)域開始(USART1_MspInit 1)/* USER CODE BEGIN USART1_MspInit 1 */// 用戶自定義代碼區(qū)域結(jié)束(USART1_MspInit 1)/* USER CODE END USART1_MspInit 1 */
}
  1. DMA發(fā)送
/* USART1 向 DMA發(fā)出TX請求 */HAL_UART_Transmit_DMA(&UartHandle, (uint8_t *)SendBuff ,SENDBUFF_SIZE);
  1. 使用DMA傳輸完成中斷
//初始化
void MX_DMA_Init(void)
{// 使能DMA控制器時鐘__HAL_RCC_DMA1_CLK_ENABLE();// DMA中斷初始化// 配置DMA1通道2和3的中斷HAL_NVIC_SetPriority(DMA1_Channel2_3_IRQn, 2, 0); // 設(shè)置DMA1通道2和3中斷的優(yōu)先級為2,子優(yōu)先級為0HAL_NVIC_EnableIRQ(DMA1_Channel2_3_IRQn);         // 使能DMA1通道2和3的中斷
}
//中斷服務(wù)函數(shù)
/*** @brief This function handles DMA1 channel 2 and channel 3 interrupts.*/
void DMA1_Channel2_3_IRQHandler(void)
{/* USER CODE BEGIN DMA1_Channel2_3_IRQn 0 *//* USER CODE END DMA1_Channel2_3_IRQn 0 */HAL_DMA_IRQHandler(&hdma_usart1_tx);/* USER CODE BEGIN DMA1_Channel2_3_IRQn 1 *//* USER CODE END DMA1_Channel2_3_IRQn 1 */
}
//中斷回調(diào)函數(shù)-打印傳輸完成結(jié)果void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart)
{if(huart == &huart1){printf(" dma_ok\r\n");}
}
//主函數(shù)while (1){HAL_UART_Transmit_DMA(&huart1, Tx_buff, 10);HAL_Delay(1000);}

結(jié)果:傳輸完數(shù)據(jù)到中斷回調(diào)函數(shù)中打印 : dma ok
在這里插入圖片描述

3. 庫函數(shù)備注

串口發(fā)送/接收函數(shù)
HAL_UART_Transmit():串口發(fā)送數(shù)據(jù),使用超時管理機(jī)制
HAL_UART_Receive():串口接收數(shù)據(jù),使用超時管理機(jī)制
HAL_UART_Transmit_IT():串口中斷模式發(fā)送
HAL_UART_Receive_IT():串口中斷模式接收
HAL_UART_Transmit_DMA():串口DMA模式發(fā)送
HAL_UART_Transmit_DMA():串口DMA模式接收串口中斷函數(shù)
HAL_UART_IRQHandler(UART_HandleTypeDef *huart); //串口中斷處理函數(shù)
HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart); //串口發(fā)送中斷回調(diào)函數(shù)
HAL_UART_TxHalfCpltCallback(UART_HandleTypeDef *huart); //串口發(fā)送一半中斷回調(diào)函數(shù)(用的較少)
HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart); //串口接收中斷回調(diào)函數(shù)
HAL_UART_RxHalfCpltCallback(UART_HandleTypeDef *huart);//串口接收一半回調(diào)函數(shù)(用的較少)
HAL_UART_ErrorCallback();串口接收錯誤函數(shù)
http://www.risenshineclean.com/news/9685.html

相關(guān)文章:

  • 福鼎市建設(shè)局網(wǎng)站新聞頭條今日新聞60條
  • 南昌網(wǎng)站建設(shè)多少錢seo查詢愛站
  • php實(shí)現(xiàn)網(wǎng)站消息推送濟(jì)南seo快速霸屏
  • 初學(xué)者求教怎樣做網(wǎng)站網(wǎng)絡(luò)公司網(wǎng)站模板
  • 香港網(wǎng)站備案如何快速提升自己
  • 網(wǎng)站建設(shè)的基本話術(shù)網(wǎng)站友鏈交換平臺
  • 網(wǎng)站設(shè)計思路最新行業(yè)動態(tài)
  • joomla網(wǎng)站建設(shè)網(wǎng)頁關(guān)鍵詞優(yōu)化軟件
  • 怎么創(chuàng)造自己的網(wǎng)站真正永久免費(fèi)網(wǎng)站建設(shè)
  • wordpress本地配置北京seo的排名優(yōu)化
  • 做seo推廣做網(wǎng)站有用嗎推廣用哪個平臺效果好
  • 獲取網(wǎng)站瀏覽者手機(jī)號外貿(mào)推廣方式都有哪些
  • 古典網(wǎng)站案例網(wǎng)絡(luò)營銷活動案例
  • lnmp裝wordpress杭州市優(yōu)化服務(wù)
  • 膠州建設(shè)工程信息網(wǎng)站廣告優(yōu)化師怎么學(xué)
  • 織夢模板網(wǎng)站好優(yōu)化嗎注冊網(wǎng)站的免費(fèi)網(wǎng)址
  • 紅酒公司網(wǎng)站建設(shè)seo優(yōu)化要做什么
  • 網(wǎng)站開發(fā)代碼 免責(zé)聲明網(wǎng)站如何賺錢
  • 興安盟做網(wǎng)站公司百度移動端優(yōu)化
  • web服務(wù)器管理的主要技術(shù)seo怎么做優(yōu)化計劃
  • 美國做旅游網(wǎng)站寧波seo外包哪個品牌好
  • 佛山新網(wǎng)站制作機(jī)構(gòu)seo內(nèi)容優(yōu)化是什么
  • 代刷網(wǎng)可以做網(wǎng)站地圖全媒體廣告代理
  • 運(yùn)城做網(wǎng)站哪家好愛站網(wǎng)挖掘關(guān)鍵詞
  • 宣城網(wǎng)站建設(shè)足球世界排名國家
  • 萊蕪都市網(wǎng)最新招聘信息汕頭seo優(yōu)化培訓(xùn)
  • 營銷企業(yè)網(wǎng)站制作網(wǎng)站廣告投放價格表
  • 二級造價工程師手機(jī)優(yōu)化專家下載
  • wordpress網(wǎng)站建設(shè)中濟(jì)寧百度推廣公司有幾家
  • 南京網(wǎng)站開發(fā)價格百度地圖網(wǎng)頁版