久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標(biāo)題:
STM32H750單片機(jī)LPUART+BDMA控制程序
[打印本頁]
作者:
輝耀石
時(shí)間:
2025-4-30 11:21
標(biāo)題:
STM32H750單片機(jī)LPUART+BDMA控制程序
STM32H750 LPUART + BDMA 控制,認(rèn)證 BDMA 使用
注意:BDMA 只能使用 SRAM4
#include "cspDwt.h"
#include <stdio.h>
#include "stm32h7xx_hal.h"
/* mdk 下載需要 勾選 Stop After Reset */
/* DWT 計(jì)時(shí)功能 */
typedef struct
{
unsigned char count;
unsigned int note[DWT_NOTE_MAX_NUMBER + 1];
}Ctrl_t;
static Ctrl_t s_ctrl = {0};
static Ctrl_t *p = &s_ctrl;
/* ----- DWT 延時(shí) ----- */
#define DWT_CR *(volatile uint32_t *)0xE0001000
#define DWT_CYCCNT *(volatile uint32_t *)0xE0001004
#define DEM_CR *(volatile uint32_t *)0xE000EDFC
#define DEM_CR_TRCENA (1 << 24)
#define DWT_CR_CYCCNTENA (1 << 0)
/**
* @brief DWT 延時(shí)初始化
* @param void
* @return void
*/
void cDwt_Init(void)
{
DEM_CR |= DEM_CR_TRCENA;
DWT_CR |= DWT_CR_CYCCNTENA;
}
/**
* @brief DWT 微秒延時(shí)
* @param US 延時(shí)計(jì)數(shù)
* @return void
*/
void cDwt_DelayUs(unsigned int us)
{
unsigned int startTime = DWT_CYCCNT;
unsigned int time = us * (SystemCoreClock / (1000000));
unsigned int endTime = startTime + time;
if (endTime > startTime)
{
while ((DWT_CYCCNT > startTime) && (DWT_CYCCNT < endTime));
}
else
{
while ((DWT_CYCCNT > startTime) && (DWT_CYCCNT < endTime));
}
}
/**
* @brief DWT 毫秒延時(shí)
* @param MS 延時(shí)計(jì)數(shù)
* @return void
*/
void cDwt_DelayMs(unsigned int ms)
{
for(unsigned int i = 0; i < ms; i++)
{
cDwt_DelayUs(1000);
}
}
/* 計(jì)時(shí)結(jié)束清零 */
void cDwt_Start(void)
{
p->count = 1;
p->note[0] = DWT_CYCCNT;
}
/* 計(jì)時(shí)打點(diǎn) */
void cDwt_Note(void)
{
if (p->count >= DWT_NOTE_MAX_NUMBER)
{
printf("%s 計(jì)時(shí)失敗 計(jì)時(shí)點(diǎn)不足\r\n", __func__);
}
p->note[p->count] = DWT_CYCCNT;
p->count++;
}
/* 計(jì)時(shí)結(jié)束 + 打印時(shí)間參數(shù) */
void cDwt_End(void)
{
unsigned int coreClock = HAL_RCC_GetSysClockFreq() / 1000000;
unsigned int realCount = 0;
unsigned int totalUs = 0;
unsigned int showUs = 0;
unsigned int showMs = 0;
unsigned int showS = 0;
for (int i = 0; i < p->count; i++)
{
/* 判斷時(shí)鐘是否重新計(jì)時(shí) */
if (p->note[i] < p->note[0])
{
realCount = 0xFFFFFFFF - p->note[0] + p->note[i];
}
else
{
realCount = p->note[i] - p->note[0];
}
totalUs = realCount / coreClock;
showS = totalUs / 1000000;
showMs = (totalUs - showS * 1000000) / 1000;
showUs = (totalUs - showS * 1000000 - showMs * 1000);
printf("Time[%d]-[%d]s-[%d]ms-[%d]us\r\n", i, showS, showMs, showUs);
}
}
復(fù)制代碼
原理圖: 無
仿真: 無
代碼:
STM32H750VB_CubeMx_LPUART_BDMA.7z
(812.65 KB, 下載次數(shù): 0)
2025-5-1 14:47 上傳
點(diǎn)擊文件名下載附件
示例代碼
下載積分: 黑幣 -5
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
国产精品久久久久久高潮
|
久久男女视频
|
一区二区三区四区国产
|
性色的免费视频
|
国产精品亚洲一区二区三区在线观看
|
亚洲精品电影在线观看
|
午夜精品一区二区三区在线视频
|
91视在线国内在线播放酒店
|
成人羞羞国产免费视频
|
av国产精品
|
色网在线观看
|
三级成人在线
|
免费观看国产视频在线
|
欧美日韩视频在线
|
日韩三区
|
天天视频一区二区三区
|
在线观看国产视频
|
青青草一区二区三区
|
www.888www看片
|
久久国产精品网
|
亚洲成人免费
|
精品视频一区在线
|
日韩一区二区三区在线观看
|
国产十日韩十欧美
|
久久久久国色av免费观看性色
|
欧美精品一区在线
|
日韩一级精品视频在线观看
|
99reav
|
欧美在线网站
|
免费观看一级毛片
|
日韩在线
|
狠狠做深爱婷婷综合一区
|
亚洲精彩视频在线观看
|
午夜影院
|
国产激情视频
|
国产精品777一区二区
|
成年人在线视频
|
久久国产精品精品
|
国产高清在线精品
|
一区二区三区四区不卡
|
av网站免费观看
|