欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標(biāo)題:
STM32f103c8t6/c6t6簡易示波器程序,0.91'OLED屏顯示
[打印本頁]
作者:
的沈嬌妮
時間:
2021-7-4 23:58
標(biāo)題:
STM32f103c8t6/c6t6簡易示波器程序,0.91'OLED屏顯示
主要功能描述:可以設(shè)置4種采樣頻率,利用GPIO-PIN-5外部中斷來選擇(1、2、3、4循環(huán)),實(shí)驗(yàn)中抗干擾較弱,可以嘗試加一個上拉電阻。能觀察波形的頻率范圍大概在300至5KHZ,過低的頻率需要自己再修改相關(guān)分頻和時鐘;輸入電壓需要保證大于0,如果小于零需要設(shè)計(jì)分壓電路來抬高輸入電壓,為了匹配需要測量的波形需要調(diào)整顯示函數(shù)的參數(shù);另外OLED也只是完成波形的顯示,沒有坐標(biāo)軸等,需要自己修改添加。
主函數(shù)部分代碼如下:
#include "delay.h"
#include "sys.h"
#include "stdio.h"
#include "oled.h"
#include "interrupt.h"
#include "ad.h"
#include "stdlib.h"
u16 resurt;
ADC_NODE* Top;
ADC_NODE* Tail;
ADC_NODE* InitNode;
ADC_NODE ADC_data[128];
unsigned char c=1;
void ShowVoltage(float Voltage,u8 startX,u8 startY);
int main(void)
{
ADC_NODE* GetResult;
unsigned char a, b;
float Voltages;
delay_init();
OLED_Init(); /
OLED_Clear();
ExitOn(); //GPIOA_PIN_5
ADC_DATA_Init();
ADC_init(RCC_PCLK2_Div8);
while(1)
{
ADC_Control(0);
GetResult = Tail; // change every 26.5us
GetResult = GetResult->next->next;
for(a=1; a<129;a++){
OLED_ClearLine(a);
//Voltages = (float)resurt*3.3/4096;
//Voltages = 16+15*sin(0.1*a);
b = (char)(GetResult->data*70/4096);
OLED_DrawP(a,b-33);
GetResult = GetResult->next;
}
ADC_Control(1);
delay_ms(50);
}
}
void EXTI9_5_IRQHandler(void){
c++;
if(c==5) c=0;
switch (c){
case 1: ADC_init(RCC_PCLK2_Div2);break;
case 2: ADC_init(RCC_PCLK2_Div4);break;
case 3: ADC_init(RCC_PCLK2_Div6);break;
case 4: ADC_init(RCC_PCLK2_Div8);break;
};
EXTI_ClearITPendingBit(Z_Line);
}
其中有一些頭文件和代碼沒有在主程序中使用到,是學(xué)習(xí)和測試時寫的可以刪掉,僅保留示波器源程序。
接線說明:
A6接SCK ,A7接SDA,OLED接3.3V(注意不是0.96寸的OLED!)
電壓輸入接A1,需要共地,外部中斷為A5。
代碼下載:
STM32f103c8t6簡易示波器.7z
(194.01 KB, 下載次數(shù): 170)
2021-7-5 02:13 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
作者:
的沈嬌妮
時間:
2021-7-7 00:13
顯示效果如圖
IMG_20210704_233225.jpg
(1.07 MB, 下載次數(shù): 96)
下載附件
2021-7-7 00:12 上傳
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1