发个贴,记录一下每天的所得。
手上有一块 STM32f103zet6的最小系统板,示波器、电压表齐全。把收获和问题都记录下来
开始,stm32IO口有八种输入输出模式:
浮空输入
上拉输入
下拉输入
模拟输入(ADC采样用的就是这个模式)
开漏输出(开漏输出本身没有输出能力,使用的话必须外接上啦电阻,根据Vcc的不同,直接决定开漏输出的输出能力)
推挽输出
复用开漏输出
复用推挽输出
要点亮一盏LED灯,首先要使能相应的时钟。
stm32内部的总线时钟是通过外部晶振经过倍频得到的,通常为了功耗的考虑,这些总线是被关闭的。只有当开启了总线时钟,总线才被打开。
GPIO属于APB2总线,总线时钟为72MHz,是外部晶振经过9倍频得到的。
初始化LED,先初始化GPIO.
板子上的LED有两个,PE5和PE6.
void LED_GPIO_Init(void)
{
GPIO_InitTypeDef GPIO_STRU;//定义一个结构体
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE,ENABLE);//开启GPIOE时钟
GPIO_STRU.GPIO_Pin=GPIO_Pin_5|GPIO_Pin_6;//设置管脚为5和6脚
GPIO_STRU.GPIO_Mode=GPIO_Mode_Out_PP;//设置为推挽输出(一般IO口应用都这样设置)
GPIO_STRU.GPIO_Speed=GPIO_Speed_2MHz;//输出速度2Mhz足以
GPIO_Init(GPIOE,&GPIO_STRU);//初始化
GPIO_SetBits(GPIOE,GPIO_Pin_5);
GPIO_SetBits(GPIOE,GPIO_Pin_6);
}
8
|
|
|
|
还是之前的那个红外学习型遥控的小项目在做,这几天因为一直没进展,心情十分不美丽,就没有上来更新帖子。
刚刚有了一些进展,可以在ram中看到接收到的波形数据,发现和示波器看到的波形是差不多的数据格式,感觉离成功不远了。
|
|
|
|
|
本帖最后由 影子的影子 于 2015-8-26 09:44 编辑
=-=
|
|
|
|
|
足足半个月没有更贴,大家会不会以为我是放弃学习了。。。。。
然而我并没有,最近事情比较多。加上学习的进度比较慢,所以一段时间内都没用什么进步。
自上个红外遥控学习完成后。开始了ESP8266WIFI模块和手机通信的事。一直没有更新。
今天上来记录下自己的进度,8266基本上可以了,刚刚还移植好了uCGUI3.9.0
在移植的过程中有几个点卡了,这里交代一下:
1、建立GUI工程的时候,添加GUI的源码,要记得更改文件的包含路径
2、更改GUI留给我们的应用层的时候,要注意查看条件编译的选项。今天我就是因为没有注意查看一个条件编译的选项,使得TFT的驱动函数没有生效,卡了许久
3、确认你的GUI函数的有效性。我在编写GUI的初始化函数的时候,因为TFT的驱动文件不是自己写的,而是采用的厂家的。我就直接在头文件里找了一个初始化函数填写进去,但是实际上,厂家的初始化函数是分为两个部分的,一部分是硬件IO的初始化,另一部分是对9320的寄存器的配置和写入数据。我只初始化了一半,导致了初始化的失败。
4、谨防文件同名造成的失误。似乎MDK的编译器对大小写是不敏感的。我的TFT驱动文件不小心和uCGUI内的一个文件同名,然而编译器没有警告。
|
|
|
|
|
本帖最后由 影子的影子 于 2015-8-25 20:17 编辑
这里打包一下我的uCGUI工程,有兴趣可以看看。
|
|
|
|
|
人生总是充满了意外。
生活不是演戏,没有剧本。所以心里有再大的委屈你也要自己扛着。
看淡就好。
——给依旧脆落的自己
2015.8.28晚
|
|
|
|
|
当你的才华跟不上你的野心的时候,你就应该静下心来学习
|
|
|
|
|
uCOS和uCGUI都跑起来了,每天都写写笔记,没心情上来记录=-=
|
|
|
|
|
感觉我性格上的弱点越来越明显了,受不了打击,喜欢自怨自艾。
我是不是像个废物啊
|
|
|
|
|
更新一个基于ucgui+ucos的数字键盘输入demo,用于8266wifi模块的应用,感兴趣的朋友可以看看
|
|
|
|
|
楼主,你还更新东西么?请问我应该怎么学习STM32
|
|
|
|
|