久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標(biāo)題:
stm32DMA中斷采集多路ADC數(shù)據(jù)+OLED12864漢字顯示
[打印本頁]
作者:
曉風(fēng)/殘?jiān)?nbsp;
時(shí)間:
2019-12-15 15:12
標(biāo)題:
stm32DMA中斷采集多路ADC數(shù)據(jù)+OLED12864漢字顯示
#include "stm32f10x.h"
#include "OLED12864.h"
#include "comm.h"
#include "keyled.h"
Systemtypedef System;
ADCtypedef ADResult[2];
extern u32 ADC_BUF[2];
u32 temp=0; //電壓數(shù)據(jù)
//unsigned short ADResult;
/**
* @brief STM32時(shí)鐘系統(tǒng)初始化
* SYSClk= 72MHz
* APB1 = 36MHz
* APB2 = 72MHz
* AHB = 72MHz
* ADC_Clk = 18MHz
* @參數(shù) None
* @返回值 None
*/
void Stm32_Clock_Init(void)
{
RCC->CR|=0x00010000; //外部高速時(shí)鐘使能HSEON
while(!(RCC->CR>>17)); //等待外部時(shí)鐘就緒
/* PLL=9*HSE OSC, APB1=AHB/DIV2, APB2=AHB/DIV1, ADC_Clk = APB2/4 */
RCC->CFGR=0X1C4400;
RCC->CFGR|=1<<16; //HSE as PLLSRC
FLASH->ACR|=0x32; //FLASH 2個(gè)延時(shí)周期
RCC->CR|=0x01000000; //PLLON
while(!(RCC->CR>>25)); //等待PLL鎖定
RCC->CFGR|=0x00000002; //PLL作為系統(tǒng)時(shí)鐘
while((RCC->CFGR & 0x0c) != 0x08); //wait,PLL used as system clock
}
void SystemVar_Init(void)
{
System.HPriTime = 0;
System.LPriTime = 0;
}
/**
* @brief 用戶任務(wù)調(diào)度定時(shí)器初始化.
* 周期1ms.
* 使能更新中斷.
* @參數(shù) None
* @返回值 None
*/
void UserTaskTimer_Init(void)
{
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; //???
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);
TIM_TimeBaseStructure.TIM_Prescaler = 71;
TIM_TimeBaseStructure.TIM_Period = 1000;//1ms時(shí)間設(shè)定
TIM_TimeBaseStructure.TIM_ClockDivision = 0;
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure);
TIM_ClearITPendingBit(TIM3, TIM_IT_Update);
TIM_ITConfig(TIM3, TIM_IT_Update, ENABLE);
{
NVIC_InitTypeDef NVIC_InitStructure;
NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
}
TIM_Cmd(TIM3, ENABLE);
}
/**
* @brief 用戶任務(wù)調(diào)度定時(shí)器更新中斷.
* 啟動(dòng)ADC轉(zhuǎn)換.
* 軟定時(shí)器更新.
* @參數(shù) None
* @返回值 None
*/
void TIM3_IRQHandler(void)
{
static u32 TimeCount = 0; //???
if (TIM_GetITStatus(TIM3, TIM_IT_Update) != RESET)
{
TIM_ClearITPendingBit(TIM3, TIM_IT_Update);
TimeCount++;
if(TimeCount % HPRITASK_TIME_MS == 0) System.HPriTime = 1;
if(TimeCount % LPRITASK_TIME_MS == 0) System.LPriTime = 1;
}
}
int main(void)
{
u32 wd;
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
Stm32_Clock_Init();
SystemVar_Init();
LED_Init();
AD_init();
ADvar_init();
UserTaskTimer_Init();
OLED_Init();
OLED_Fill(0);
// OLED_P8x16Str(0,0,"BLDC CLOSED LOOP");
// OLED_P8x16Str(5,2,"Targe: rpm");
//// OLED_P8x16Str(5,4,"Real : rpm");
//// OLED_P8x16Str(5,6,"VBUS : mV");
// OLED_P8x16Str(5,6,"D_Y : mV");
// OLED_P8x16Str(5,4,"W_D : mV");
OLED_ShowCHinese(0,4,19);//運(yùn)
OLED_ShowCHinese(18,4,20);//行
OLED_ShowCHinese(36,4,21);//時(shí)
OLED_ShowCHinese(54,4,22);//間
OLED_ShowCHinese(72,4,13);//
LED1 = LED2 = LED3 = 0;
LED4 = LED5 = 1;
while(1)
{
if(System.HPriTime)
{
System.HPriTime = 0;
// do something
LED2 = !LED2;
}
else if(System.LPriTime)
{
//刷新HMI信息
System.LPriTime = 0;
temp = ((ADResult[0].avg*3300)/4096); //電壓數(shù)據(jù)轉(zhuǎn)換
wd = ((ADResult[1].avg*3300)/4096);
Display_data(50,6,temp,0); //OLED打印電壓數(shù)據(jù)
Display_data(50,4,wd,0); //OLED打印電壓數(shù)據(jù)
}
}
}
DMA_ADC.7z
2019-12-15 15:39 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
180.82 KB, 下載次數(shù): 55, 下載積分: 黑幣 -5
作者:
GlenXu
時(shí)間:
2022-11-6 09:32
漢字顯示有做查表的沒?
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
www性色
|
午夜视频在线播放
|
久久夜视频
|
欧美激情国产精品
|
aaaaaa大片免费看最大的
|
黄色三级免费网站
|
欧美视频区
|
国产精品久久久久久久岛一牛影视
|
久久精品国产一区
|
午夜精品一区二区三区在线观看
|
国产一级片免费视频
|
久久精品二区亚洲w码
|
涩涩视频在线观看
|
成人午夜性成交
|
欧美精品久久久久
|
黄色片免费在线观看
|
成人av在线播放
|
欧美日韩在线观看一区二区三区
|
久久久久国产一级毛片高清网站
|
亚洲一区二区三区四区五区中文
|
四虎永久免费黄色影片
|
亚洲va在线va天堂va狼色在线
|
亚洲精品中文字幕中文字幕
|
亚洲视频三区
|
国产精品久久久久久久久久三级
|
亚洲综合久久久
|
婷婷中文字幕
|
日韩精品一区二区三区第95
|
亚洲一区三区在线观看
|
国产美女精品
|
蜜桃在线一区二区三区
|
亚洲天堂免费在线
|
亚洲情侣视频
|
欧美精品久久久
|
日韩欧美在线不卡
|
欧美一区二区三区视频
|
日本五月婷婷
|
久久精品国产一区二区电影
|
中文字幕一区二区三区不卡在线
|
久久久久久一区
|
h视频在线看
|