stm32如何才能在液晶屏上让数字左右移动?stm32开发版,正点原子和野火的那个好
本文目录
stm32如何才能在液晶屏上让数字左右移动
1.keil52.(2)PC,STM32开发板(这里使用野火stm32mini)、0.96存OLED显示屏、烧录装置(下载器)参考厂家的用户手册完成引脚连接:二、基于SPI修改程序实现数据显示1.中文数据显示文本内容为中文在点阵中为16*16,故都为16进制,我们通过软件进行生成使用该软件生成十六进制字模 选择模式中的字符模式,在选择中调整字体大小为16及16进制2.代码云(0) 开(1) 处(2)DB 40H 40H 42H 42H 42H 42H C2H 42H 42H 42H 42H 42H 42H 40H 40H 00H;DB 00H 20H 70H 28H 24H 23H 20H 20H 20H 24H 28H 30H E0H 00H 00H 00H;"云",0DB 80H 82H 82H 82H FEH 82H 82H 82H 82H 82H FEH 82H 82H 82H 80H 00H;DB 00H 80H 40H 30H 0FH 00H 00H 00H 00H 00H FFH 00H 00H 00H 00H 00H;"开",1DB 00H 80H 60H 9FH 08H 08H F8H 00H 00H FFH 10H 20H 40H 80H 00H 00H;DB 81H 40H 20H 13H 0CH 13H 20H 20H 40H 5FH 40H 40H 40H 41H 40H 00H;"处",22 代码显示部分:void TEST_MainPage(void){ GUI_ShowString(28,0,"MR liao",16,1); GUI_ShowCHinese(28,20,16,"云开处",1); GUI_ShowString(4,48,"631807060611",16,1); delay_ms(1500); delay_ms(1500);}main函数:int main(void){ delay_init(); //延时函数初始化 NVIC_Configuration(); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级 OLED_Init(); //初始化OLED OLED_Clear(0); //清屏(全黑) while(1) { TEST_MainPage(); //主界面显示测试 }}三、使用STM32在0.96寸OLED显示屏上实现字符滚动1.初识OLED屏滚动命令本OLED屏的芯片类型为:SSD1306设置水平左右移步骤:OLED_WR_Byte(0x2E,OLED_CMD); //关闭滚动OLED_WR_Byte(0x26,OLED_CMD); //水平向左或者右滚动 26/27OLED_WR_Byte(0x00,OLED_CMD); //虚拟字节OLED_WR_Byte(0x00,OLED_CMD); //起始页 0OLED_WR_Byte(0x07,OLED_CMD); //滚动时间间隔OLED_WR_Byte(0x07,OLED_CMD); //终止页 7OLED_WR_Byte(0x00,OLED_CMD); //虚拟字节OLED_WR_Byte(0xFF,OLED_CMD); //虚拟字节OLED_WR_Byte(0x2F,OLED_CMD); //开启滚动设置垂直和水平滚动的(没有可用连续垂直滚动)步骤:OLED_WR_Byte(0x2e,OLED_CMD); //关闭滚动OLED_WR_Byte(0x29,OLED_CMD); //水平垂直和水平滚动左右 29/2aOLED_WR_Byte(0x00,OLED_CMD); //虚拟字节OLED_WR_Byte(0x00,OLED_CMD); //起始页 0OLED_WR_Byte(0x07,OLED_CMD); //滚动时间间隔OLED_WR_Byte(0x07,OLED_CMD); //终止页 1OLED_WR_Byte(0x01,OLED_CMD); //垂直滚动偏移量OLED_WR_Byte(0x2F,OLED_CMD); //开启滚动2.文本取模参考上面取模3.代码main函数:int main(void){ delay_init(); //延时函数初始化 NVIC_Configuration(); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级 OLED_Init(); //初始化OLED OLED_Clear(0); //清屏(全黑) OLED_WR_Byte(0x2E,OLED_CMD); //关闭滚动 OLED_WR_Byte(0x26,OLED_CMD); //水平向左或者右滚动 26/27 OLED_WR_Byte(0x00,OLED_CMD); //虚拟字节 OLED_WR_Byte(0x00,OLED_CMD); //起始页 0 OLED_WR_Byte(0x07,OLED_CMD); //滚动时间间隔 OLED_WR_Byte(0x07,OLED_CMD); //终止页 7 OLED_WR_Byte(0x00,OLED_CMD); //虚拟字节 OLED_WR_Byte(0xFF,OLED_CMD); //虚拟字节 TEST_MainPage(); //主界面显示测试 OLED_WR_Byte(0x2F,OLED_CMD); //开启滚动}显示部分代码void TEST_MainPage(void){ GUI_ShowString(28,0,"HELLO",16,1); GUI_ShowCHinese(12,16,16,"欢迎来到重庆交通大学",1); delay_ms(1500); delay_ms(1500);}
stm32开发版,正点原子和野火的那个好
stm32开发版,正点原子和野火的那个好?论代码绝对野火比正点原子严谨,野火的代码宏定义用的比较多,初期会觉得很绕,不直观,但实际工程应用移植起来才知道有多方便,才明白这个习惯有多好。其实视频方面野火开始几章由浅入深讲的很好,C基础不是很好的人也能跟上,很快明白从寄存器到库函数封装的由来,但后面章节换了个老师讲,可能是实际中做工程中的大牛,有些点讲的一笔带过了,风格不太适合教学,初学者跟的有点费劲,但研究明白了还是能收获不少。原子的代码初看就比较适合初学,但代码风格对后期实际应用来说习惯不是很好。视频的话跟野火相反,前面段讲的很拖沓,什么找文件的讲一大堆,新建工程也只是教你从哪复制文件到哪,但没说明为什么这么做,不是很友好。相反后半段更适合初学者,虽然讲的不是很深入,但对初学者来说快速入门建立学习信心才最重要。总的来说就是野火的更工程师思维,原子的教学思维,最好两个交叉看,板子随便买一个都行,差别不大。
更多文章:

mtkheliog85处理器(heliog85处理器怎么样)
2024年11月17日 06:50

小米盒子4s pro去广告(小米盒子看电视直播怎样去除广告,真相在这里)
2024年11月6日 15:00

哈登29分13助攻4篮板4抢断(哈登篮网首秀便砍下32+12+14,这是什么水平)
2024年7月6日 13:30

海珠区疫情最新情况今天(11月19日广州新增本土确诊200例和无症状8234例(另有850例无症状转确诊))
2024年10月15日 11:10

小米手环6是最后一代吗(E拆解:小米手环6屏幕、性能全面升级,拆开后还有哪些变化)
2024年3月13日 02:40

r9 280x 3g(迪兰恒进r9 280x酷能3g性能怎么样)
2024年4月19日 22:50