查看: 5793|回复: 18

机智云源代码粗略介绍

[复制链接]
  • TA的每日心情
    奋斗
    2015-10-21 16:47
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

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


    1.png
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2015-10-21 16:47
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

     楼主| 发表于 2015-10-20 11:15:33 | 显示全部楼层
    只能一楼一楼的发了,添加了图片之后不能按照顺序来,要能像word一样就好了,直接复制过来了。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2015-10-21 16:47
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

     楼主| 发表于 2015-10-20 11:16:03 | 显示全部楼层
    去官网找了一下,发现支持的单片机系列还是很多的。以下附上图和链接。
    2.png
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2015-10-21 16:47
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

     楼主| 发表于 2015-10-20 11:16:52 | 显示全部楼层
    http://www.keil.com/dd2/Pack/,在这个网站能找到自己合适的PACK,因为机智云使用的是STM32F103系列的单片机,所以就下载了STM32的DFP。大家可自行根据板子的单片机系列下载所需的PACK。
    3.png
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2015-10-21 16:47
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

     楼主| 发表于 2015-10-20 11:17:35 | 显示全部楼层
    好了安装好了对应的PACK,可以打开机智云的代码了。
    首先我们来看一下代码对应的文件。
    4.png
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2015-10-21 16:47
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

     楼主| 发表于 2015-10-20 11:18:05 | 显示全部楼层
    User文件夹下包含了main.c,stm32f10x_it.c,delay.c,sa_gpio.c,rtc.c。
    5.png
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2015-10-21 16:47
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

     楼主| 发表于 2015-10-20 11:18:48 | 显示全部楼层
    Main.c是程序运行的最重要的一个部分,在这个文件下的main函数中实现所有的初始化过程,我们可以在这个函数这个添加和删减自己所需的功能。
    Stm32f10x.c文件中包含了中断处理函数,包括串口,定时器,RTC,外部中断等等。
    Delay.c是延时函数。
    Sa_gpio.c中包含了一个io初始化函数。
    6.png
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2015-10-21 16:47
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

     楼主| 发表于 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
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2015-10-21 16:47
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

     楼主| 发表于 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
    9.png
    10.png
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2015-10-21 16:47
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

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



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

    使用道具 举报

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

    本版积分规则

    关闭

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



    手机版|小黑屋|与非网

    GMT+8, 2024-11-15 09:03 , Processed in 0.199403 second(s), 33 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.