赞
踩
我用的是stm32f103c8t6,具体的软件可以到哔哩哔哩看江科大自协化(现在叫做江协科技)
在此记录下学习中遇到的问题。
一、stm32和st-link2的连接
最开始单片机和st-link2的连接出错了,连接下面的引脚,而且连接要一一对应,引脚可以一个一个连接,stm32和st-link2的顺序并不一定能对上。
如果没一一对应连接程序并不能下载到stm32中。
二、程序问题
三、再就是OLED显示汉字程序
这个我找了好久才遇到的一个合适的,可以到哔哩哔哩搜索这个视频观看代码
【0.96寸OLED如何显示汉字(iic通信)-哔哩哔哩】 https://b23.tv/5xeB59y
也可以直接用下面的
首先要了解OLED是如何显示东西的,可以搜一搜其他人的详细讲解,然后按我理解显示东西的步骤就是先对这个东西取模,然后转换成01的信号给OLED再显示,这便要用到取模软件,江科大的资料中也有相应的软件,我们可以打开模块资料,再打开8-OLED显示屏,再打开取字模软件,再打开中景园OLE显示屏专用取模工具,点开PCtoLCD2002,再点开PCtoLCD2002应用程序就可以进行取模了
下面是取模的步骤
- const char Font_Chinese[][32]=
- {
- {0x00,0x80,0x60,0xF8,0x07,0x40,0x20,0x18,0x0F,0x08,0xC8,0x08,0x08,0x28,0x18,0x00},
- {0x01,0x00,0x00,0xFF,0x00,0x10,0x0C,0x03,0x40,0x80,0x7F,0x00,0x01,0x06,0x18,0x00},/*"你",0*/
- {0x10,0x10,0xF0,0x1F,0x10,0xF0,0x00,0x80,0x82,0x82,0xE2,0x92,0x8A,0x86,0x80,0x00},
- {0x40,0x22,0x15,0x08,0x16,0x61,0x00,0x00,0x40,0x80,0x7F,0x00,0x00,0x00,0x00,0x00},/*"好",1*/
- };
- void OLED_ShowChinese(uint8_t Line,uint8_t Column,uint8_t num)
- {
- uint8_t i;
- OLED_SetCursor ((Line - 1)*2,(Column - 1)*16);
- for(i = 0;i<16;i++)
- {
- OLED_WriteData(Font_Chinese[2*num[i]);
- }
- OLED_SetCursor ((Line -1)*2+1(Column-1)*16);
- for(i = 0;i<16;i++)
- {
- OLED_WriteDataFont_Chinese[2*num+1][i]);
- }
- }
void OLED_ShowChinese(uint8_t Line,uint8_t Column,uint8_t num);
- OLED_ShowChinese(1,4,0);
- OLED_ShowChinese(1,5,1);
(1,4,0)也代表在OLED屏幕的第一行第四列上显示第一个汉字。OLED上便能显示你好。
四、使用小技巧
①、可以用来实时监测一个变量的值
步骤:
首先,选中想要查看值的变量;
然后,右键选择add然后选择Witch1;
然后就可以在右下方见到要看的变量;
最后点击左上方的运行符号就可以了。
五、程序
①、把接收到的字符串转换为整数(学习K210与stm32通信时补充)-----------需要用到atoi()函数
首先加上头文件#include "stdlib.h"
然后需要定义一个整数,比如int a;
还有需要转换的字符串,比如char Angle[30];Angle[0]='1 ';Angle[1]='2 ';Angle[2]='3 ';Angle[3]='\0';
然后a=atoi(Angle);
a就是123了。
以下是C语言的代码
- #include "stdio.h"
- #include "stdlib.h"
- int main()
- {
- int a;
- char Angle[30];
- Angle[0]='1';
- Angle[1]='2';
- Angle[2]='3';
- Angle[3]='\0';
- a=atoi(Angle);
- printf("%d",a);
- return(0);
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。