糖尿病康复,内容丰富有趣,生活中的好帮手!
糖尿病康复 > STM32F03C8T6+ADC信号采集+OLED波形显示

STM32F03C8T6+ADC信号采集+OLED波形显示

时间:2020-07-02 23:13:03

相关推荐

STM32F03C8T6+ADC信号采集+OLED波形显示

STM32F03C8T6+ADC信号采集+OLED波形显示

✨本项目来源于开源项目,可以自行准备一块STM32F03C8T6和一块OLED屏幕就可以验证并演示出效果。
🔖通过手指皮肤接触探测输入引脚:PA7

🌿PA8引脚上的方波输出

🌿PB13引脚上的方波输出

PB13和PA8:互补型方波输出引脚

🛠硬件搭建

🌾OLED屏幕:可以是0.96寸屏幕或者是1.3寸 IIC接口的OLED屏幕🌴STM32F103C8T6最新系统板一块🌿若干导线

🍁工程架构

📝接线说明

ADC检测引脚:PA7,相关定义在BSP_ADC.hOLED IIC引脚定义:bsp_i2c_gpio.hSDA --- PA3SCL --- PA2PWM方波输出引脚:BSP_ADVANCED_TIMER.hPB13和PA8:互补型方波输出引脚,PB12:低电平

⛳0.96寸屏幕和1.3寸屏幕驱动细节差异说明

OLED_I2C.c文件中

清屏函数

void OLED_CLS(void)//清屏{uint8_t i,j;for(i=0;i<8;i++){WriteCmd(0xb0+i);//page0-page8WriteCmd(0x02);//low column start address1.3寸屏幕发送地址是从0x02开始的,0.96屏幕是从0x00地址开始的特别注意个地方!!!!WriteCmd(0x10);//high column start addressfor(j=0;j<128;j++){DataBuffer[i][j]=0x00;}}Write_DataBuffer();}

初始化函数

void OLED_Init(void){i2c_CfgGpio(); /*I2C总线的GPIO初始化*/Delay_ms(1000);// 1s,这里的延时很重要,上电后延时,没有错误的冗余设计WriteCmd(0xAE); //display offWriteCmd(0x20);//Set Memory Addressing ModeWriteCmd(0x10);//00,Horizontal Addressing Mode;01,Vertical Addressing Mode;10,Page Addressing Mode (RESET);11,InvalidWriteCmd(0xb0);//Set Page Start Address for Page Addressing Mode,0-7WriteCmd(0xc8);//Set COM Output Scan DirectionWriteCmd(0x02); //---set low column address1.3寸屏幕发送地址是从0x02开始的,0.96屏幕是从0x00地址开始的WriteCmd(0x10); //---set high column addressWriteCmd(0x40); //--set start line addressWriteCmd(0x81); //--set contrast control registerWriteCmd(0xff); //亮度调节 0x00~0xffWriteCmd(0xa1); //--set segment re-map 0 to 127WriteCmd(0xa6); //--set normal displayWriteCmd(0xa8); //--set multiplex ratio(1 to 64)WriteCmd(0x3F); //WriteCmd(0xa4); //0xa4,Output follows RAM content;0xa5,Output ignores RAM contentWriteCmd(0xd3); //-set display offsetWriteCmd(0x00); //-not offsetWriteCmd(0xd5); //--set display clock divide ratio/oscillator frequencyWriteCmd(0xf0); //--set divide ratioWriteCmd(0xd9); //--set pre-charge periodWriteCmd(0x22); //WriteCmd(0xda); //--set com pins hardware configurationWriteCmd(0x12);WriteCmd(0xdb); //--set vcomhWriteCmd(0x20); //0x20,0.77xVccWriteCmd(0x8d); //--set DC-DC enableWriteCmd(0x14); //WriteCmd(0xaf); //--turn on oled panel}

本代码默认采用的是1.3寸的屏幕驱动显示

📚资源链接

🔖带引脚说明注释版

链接:/s/1uGAJVJs7Z1E4Mb2FSrRGFw 提取码:mrdp

如果觉得《STM32F03C8T6+ADC信号采集+OLED波形显示》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。