微软公司宣布不再支持你正在使用的 IE浏览器,这会严重影响浏览网页,请使用微软最新的Edge浏览器
您好, 登录| 注册|

从硬件到单片机----深入学习STM32

  • 03-31 21:20
  • 1850

    浏览

  • 14

    回复

  • 2

    获赞

  • 从大学第一次知道单片机到现在,断断续续和单片机打了6年的交道了,在这期间接触最多用的最多的还是51单片机,从最开始的89C51到中间的STC15系列再到现在的STC8系列,虽然型号是越来越高级了,但是其本质还是一个51单片机,虽然用了不少,但是还是感觉自己的单片机编程能力不怎么样,终其原因还是C语言基础不牢固,同时也感觉到编程能力对自己能力的提高限制越来越明显了,最明显的就是有时候想做一个小东西来玩儿一下,但是需要单片机来配合,最后发现自己搞不定,就只能无奈的放弃。

    所以现在下定决心好好的深入的学一学单片机,考虑到51单片机的性能已经不太满足需要了,所以决定转向STM32,正好手上有一块吃灰很久了的STM32F103开发板,正好拿出来用用,在大学的时候STM32真的是算是最热门的单片机,基本上实验室里每个撸单片机的最后都在整STM32,但是奈何当时自己痴迷于硬件,对单片机不太感兴趣,所以也就没去跟风学32,现在想来都是泪啊。。。。。。。

    闲话说了这么多,接下来就进入正题,先说编程工具,这个肯定是Keil了,毕竟熟悉,然后学习平台有两个,一个是原子的STM32F103的开发板,这个开发板上该有的外设基本都有,这个主要是用来学习用的,另一个就是自己画的一个STM32F103C6控制板,这个控制板是给我的电子负载画的,算是一个小型的项目实战吧。

    控制板上搭载了一片DAC8562,一片ADS1115,一路485通信,一路CAN通信,一个外部Flashz芯片再加五个按键、一块TFT彩屏和四个LED灯,这个控制板算是把单片机常用的功能都包括进去了,包括SPI通信,IIC通信,串口通信,CAN通信,按键控制和屏幕显示。

    2.4寸的TFT和1.8寸的TFT

    开发板

    同是电子工程师,请一定不要吝啬你的赞!

    2人已赞

    编辑 举报

    LV.1

    4262058

    2515817

    124

    717382

    说说你的看法

  • LV.

    @

    编辑

    删除

    举报

    #该内容仅管理员可见#

    #回复内容已被删除#

    #该内容正在审核#

    回复:

    取消
    发送
  • 现在还没有回复呢,说说你的想法

    现在还没有回复呢,说说你的想法

    全部回复(14)

  • 川理学子

    LV.1

    03-31 21:24

    @

    今天晚上先来测试一下串口通信,8562和1115的驱动程序是在网上找得,之前测试过能够正常运行,等会儿看能不能用串口来控制8562输出,哈哈哈哈

    1

    设为最佳答案

    置顶

    编辑

    删除

    举报

    #该内容仅管理员可见#

    #回复内容已被删除#

    #该内容正在审核#

    回复:

    4262059

    2515817

    124

    717382

    取消
    发送
    2
  • 川理学子

    LV.1

    03-31 23:00

    @

    郁闷~把串口程序加进去后程序就直接飞了……,屏蔽掉串口通信部分,居然还原不回去了~我丢

    1

    设为最佳答案

    置顶

    编辑

    删除

    举报

    #该内容仅管理员可见#

    #回复内容已被删除#

    #该内容正在审核#

    回复:

    4262060

    2515817

    124

    717382

    取消
    发送
    3
  • 川理学子

    LV.1

    03-31 23:23

    @

    越来越迷了~用开发版来跑串口通信刚开始还能跑,把其他部分加进去后又死翘翘了,然后又还原不回去了~emmmmmm

    1

    设为最佳答案

    置顶

    编辑

    删除

    举报

    #该内容仅管理员可见#

    #回复内容已被删除#

    #该内容正在审核#

    回复:

    4262061

    2515817

    124

    717382

    取消
    发送
    4
  • 千里知外

    LV.1

    04-01 22:22

    @川理学子

    越来越迷了~用开发版来跑串口通信刚开始还能跑,把其他部分加进去后又死翘翘了,然后又还原不回去了~emmmmmm

    坐等杰作

    0

    设为最佳答案

    置顶

    编辑

    删除

    举报

    #该内容仅管理员可见#

    #回复内容已被删除#

    #该内容正在审核#

    回复:

    4262082

    2515817

    124

    716302

    取消
    发送
    5
  • 川理学子

    LV.1

    04-01 23:35

    @

    哈哈哈~搞定了,折腾了一晚上,总算是把串口控制DA输出这个功能搞定了,其实程序也不复杂,就是老是出一点小毛病,然后就不停地调试。

    串口使用的USART1,走的485通信,串口程序就直接移植的例程,改了改里面的端口和串口号。

    这个是实现控制的代码,因为一次性只能接收一个字节,所以就对接收的数据做了点小处理,让他变成16位的数据。

    1

    设为最佳答案

    置顶

    编辑

    删除

    举报

    #该内容仅管理员可见#

    #回复内容已被删除#

    #该内容正在审核#

    回复:

    4262083

    2515817

    124

    717382

    取消
    发送
    6
  • 川理学子

    LV.1

    04-01 23:36

    @千里知外

    坐等杰作

    哈哈哈~一起学习

    0

    设为最佳答案

    置顶

    编辑

    删除

    举报

    #该内容仅管理员可见#

    #回复内容已被删除#

    #该内容正在审核#

    回复:

    4262084

    2515817

    124

    717382

    取消
    发送
    7
  • 川理学子

    LV.1

    04-01 23:43

    @川理学子

    哈哈哈~搞定了,折腾了一晚上,总算是把串口控制DA输出这个功能搞定了,其实程序也不复杂,就是老是出一点小毛病,然后就不停地调试。

    串口使用的USART1,走的485通信,串口程序就直接移植的例程,改了改里面的端口和串口号。

    这个是实现控制的代码,因为一次性只能接收一个字节,所以就对接收的数据做了点小处理,让他变成16位的数据。

    咦~我的图片呢,为啥没有了

    0

    设为最佳答案

    置顶

    编辑

    删除

    举报

    #该内容仅管理员可见#

    #回复内容已被删除#

    #该内容正在审核#

    回复:

    4262085

    2515817

    124

    717382

    取消
    发送
    8
  • 川理学子

    LV.1

    04-10 22:10

    @

    好久没来更新了,最近有点小忙,今天来更新一手按键检测的代码。

    按键算是单片机里面最常用的一个功能器件了,寻常的按键检测程序就是下面这种

    通过识别按键按下后的电平变化,检测到按键按下后再延时识别按键的松开,然后执行相应的按键功能。

    这个按键检测程序简单是简单,但是有个问题就是在while(!K1)这里,如果按键一直按下不松开,就会导致程序一直卡在这儿干不了别的事。

    所以,还是需要换一个按键处理程序。

    0

    设为最佳答案

    置顶

    编辑

    删除

    举报

    #该内容仅管理员可见#

    #回复内容已被删除#

    #该内容正在审核#

    回复:

    4262466

    2515817

    124

    717382

    取消
    发送
    9
  • 川理学子

    LV.1

    04-10 22:24

    @

    后来在单片机论坛里闲逛的时候发现了一个非常牛逼的按键处理程序,牛逼到什么程度呢,就是整个的按键识别就只有四句话,而且还能区分长按和短按,废话不多说,上图

    除去变量定义,剩下的四句话就是用来识别按键的,Trg是用来识别短按的,而且支持检测多个按键同时按下。Cont是用来识别长按的。

    之所以说这个代码牛逼,就在于通过异或和位与操作后,就能实现常用的几种按键操作识别。而且长按按键不会阻塞主程序的运行。

    关于这个处理程序的出处,在这儿:https://blog.csdn.net/hooter1004/article/details/7441844?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164960045316780269882926%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=164960045316780269882926&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~sobaiduend~default-2-7441844.nonecase&utm_term=%E6%8C%89%E9%94%AE%E7%A8%8B%E5%BA%8F&spm=1018.2226.3001.4450

     

    0

    设为最佳答案

    置顶

    编辑

    删除

    举报

    #该内容仅管理员可见#

    #回复内容已被删除#

    #该内容正在审核#

    回复:

    4262477

    2515817

    124

    717382

    取消
    发送
    10
  • 川理学子

    LV.1

    04-10 22:32

    @

    这个按键程序在我的控制板实验了一下,确实挺好用的,不会出现之前的那种按键处理程序会阻塞主程序运行的情况。

    按键搞定后就准备配合TFTLCD来做一个按键菜单程序,这个对于我现在的水平来说还是略有难度,可能需要花费个一两周吧。

    0

    设为最佳答案

    置顶

    编辑

    删除

    举报

    #该内容仅管理员可见#

    #回复内容已被删除#

    #该内容正在审核#

    回复:

    4262483

    2515817

    124

    717382

    取消
    发送
    11
  • 现在还没有回复呢,说说你的想法

    1 2  
  • 回复

  • 收藏

  • 点赞

  • 举报有害信息

  • 已超出发布时间24小时,无法编辑与删除
    关于我们 联系方法 广告服务 会议服务 电子星球APP 网站地图 不良信息举报 热线:400-003-2006
    © 2002-2021 Netbroad(网博互动)公司版权所有 津ICP备:11006234号 联网备案号:12010402000747 增值电信业务经营许可证:津B2-20120058