18回答

0收藏

机智云源代码粗略介绍

机智云GoKit 机智云GoKit 6769 人阅读 | 18 人回复 | 2015-10-20

最近忙着找工作,没有时间写板子的测评,还好幸运的找到了一份工作,对于应届生的我来说还算不错。小小感慨一下,好了,继续搞起。
上次测评之后,没有来得及下载Keil uvision5MDK,今天正好下载下来,直接安装了。没有破解,但还是能用。
在官方下载了板子的源代码,用keil打开之后发现没有PACK包,不知道为啥软件没有自带。


1.png (25.86 KB, 下载次数: 82)

1.png
分享到:
回复

使用道具 举报

回答|共 18 个

倒序浏览

沙发

rui199009

发表于 2015-10-20 11:15:33 | 只看该作者

只能一楼一楼的发了,添加了图片之后不能按照顺序来,要能像word一样就好了,直接复制过来了。
板凳

rui199009

发表于 2015-10-20 11:16:03 | 只看该作者

去官网找了一下,发现支持的单片机系列还是很多的。以下附上图和链接。

2.png (49.84 KB, 下载次数: 76)

2.png
地板

rui199009

发表于 2015-10-20 11:16:52 | 只看该作者

http://www.keil.com/dd2/Pack/,在这个网站能找到自己合适的PACK,因为机智云使用的是STM32F103系列的单片机,所以就下载了STM32的DFP。大家可自行根据板子的单片机系列下载所需的PACK。

3.png (28.44 KB, 下载次数: 69)

3.png
5#

rui199009

发表于 2015-10-20 11:17:35 | 只看该作者

好了安装好了对应的PACK,可以打开机智云的代码了。
首先我们来看一下代码对应的文件。

4.png (5.54 KB, 下载次数: 75)

4.png
6#

rui199009

发表于 2015-10-20 11:18:05 | 只看该作者

User文件夹下包含了main.c,stm32f10x_it.c,delay.c,sa_gpio.c,rtc.c。

5.png (3.15 KB, 下载次数: 80)

5.png
7#

rui199009

发表于 2015-10-20 11:18:48 | 只看该作者

Main.c是程序运行的最重要的一个部分,在这个文件下的main函数中实现所有的初始化过程,我们可以在这个函数这个添加和删减自己所需的功能。
Stm32f10x.c文件中包含了中断处理函数,包括串口,定时器,RTC,外部中断等等。
Delay.c是延时函数。
Sa_gpio.c中包含了一个io初始化函数。

6.png (33.21 KB, 下载次数: 62)

6.png
8#

rui199009

发表于 2015-10-20 11:19:19 | 只看该作者

最后还有一个RTC.c文件,主要是对实时时钟的配置。


Hal文件夹下包含了如下文件,hal_rgb_led.c,hal_uart.c,hal_key.c,hal_led.c,hal_motor.c,hal_temp_hum.c,hal_infrared.c,hal_oled.c和asciilib.c。

7.png (4.89 KB, 下载次数: 80)

7.png
9#

rui199009

发表于 2015-10-20 11:20:03 | 只看该作者

在这个文件夹下可以对板子上具体的芯片引出脚配置,比如可以自己设定使用某些引出的IO口来实现自己的功能。结合原理图和PCB能够很好的理解板子上芯片的分布链接,学习一下PCB制板和布局。板子主要的功能可以从这里查询,包括led灯,按键,温度控制,液晶屏显示等等。

Protlcol文件夹下包含了数据处理协议文件Protocol.c。

CMSIS文件夹下包含了内核文件core_cm3,system_stm32f10x.c文件。

Startup文件夹下包含了启动文件startup_stm32f10x_hd.s和startup_stm32f10x_md.s。这两个文件可以在调用时选择,用来决定编译文件使用的空间大小,来对应所使用的stm32芯片。

8.png (1.67 KB, 下载次数: 67)

8.png

9.png (2.49 KB, 下载次数: 78)

9.png

10.png (2.84 KB, 下载次数: 81)

10.png
10#

rui199009

发表于 2015-10-20 11:21:16 | 只看该作者

最后就是StdPeriph_Driver文件夹,这个文件夹下面包含了芯片本身所拥有的所有硬件功能。包含经常使用的模数/数模转换,can总线通信,dma传输,外部中断,IO口配置,i2c通信,pwm波配置,时钟设置,定时器设置,串口设置,spi通信等等。这个部分在自己编程时非常有用,可以直接调用做好的函数,不需要自己翻看寄存器进行配置,开发时很方便,但是并不是很利于学习是stm32,因为只有从芯片寄存器开始一步一步学习才能很好的掌握其运行的原理。



如果利用此开发板来进行应用开发,则可以快速的完成开发任务,但是学习就比较慢,函数库的使用在集成好的代码中包含了各种define和文件间函数的调用,往往在开发中出现问题时不能够很好的定位错误。希望能够推出一个简版的,从寄存器直接配置的源代码,这样有利于板子的学习。

11.png (11.03 KB, 下载次数: 76)

11.png
您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条