本贴采用STM32F1的内部ADC进行模拟采集,其他单片机只需更改ADC初始化函数即可完成移植。
显示部分采用0.96oled 4针iic 。解析速率可根据需求通过调整显示时间即可。
连接运行示意图如下:
运行视频如下:
部分代码如下:- #include "Headfile.h"
- /*********************************************************************
- adc采集后iic的oled显示
- SCL PCout(13)
- SDA PCout(0)
- *********************************************************************/
- extern __IO uint16_t ADC1ConvertedValue[10][12];
- __IO uint32_t ADC1ConvertedVoltage[12];
- #define accur 0.015295
- int
- main()
- {
- u8 x=0,j;
- u16 pwm_show=4000;
- HardWave_Init();
- while(1)
- {
- if(KEY1==0)j=0;
- else j=1;
- for(x=0;x<128;x++)
- {
- if(j==0)pwm_show=30+30*sin((x*4*3.14)/128);
- else pwm_show=30+10*sin((x*4*3.14)/64);
- delay_ms(10);
- OLED_DrawWave(x,pwm_show);
- }
- }
- }
复制代码
代码下载:
stm32f103rct6_简易示波器.zip
(342 KB, 下载次数: 172)
|