嵌入式学习

目录简介工具仿真软件proteus 7编译软件keil配试开发环境遇到的问题学习路线总线式多点温度的智能检测与控制操作系统移植基于arm版的小车灭火机器人学习资源更新纪录简介我就读于一个普通大学,智能科学于技术专业,专业课有数电模电嵌入式,对硬件停感兴趣,由于上课有很多地方没听懂,到最后写综合设计和实验报告比较困难,但我还是想好好弄出来。此篇文章用来记录学习路线和遇到的各种困难希望此篇文章能帮读者少走弯路工具仿真软件proteus 7注意是7版本,不是8,之前安装了8,但老是闪退,后来百度是说
摘要由CSDN通过智能技术生成

简介

我就读于一个普通大学,智能科学于技术专业,专业课有数电模电嵌入式,对硬件停感兴趣,由于上课有很多地方没听懂,到最后写综合设计和实验报告比较困难,但我还是想好好弄出来。此篇文章用来记录学习路线和遇到的各种困难

希望此篇文章能帮读者少走弯路

工具

仿真软件proteus 7

在这里插入图片描述
注意是7版本,不是8,之前安装了8,但老是闪退,后来百度是说8确实是这样,第7版要稳定些,学校机房也用的是老版本。以后可能会稳定,但现在2021年最好用8

编译软件keil

keil是一个大系列,不单单是一个软件,它旗下包括很多软件,比如keil-mdk 和 keil-c51
keil mdk主要是用来开发arm板的,好像也叫stm32
keil c51主要是用来开发51单片机的

当初老师说下载mdk,我以为mdk是不同于keil的另一个软件,走了许多弯路。

配试开发环境遇到的问题

要自己去找下载资源
keil mdk可能会有破解时间过期问题,即时间到2020年就到期了,自己在网上找,有新的注册机到2023年
破解报错时,其中一种是你没有以管理员身份运行
keil编译要某些板子要去官网下载特定的对应你自己板子的文件
我下了两个keil,下载第二个keil时把桌面的图标快捷式给弄没了,所以你得记住运行文件在哪

--------------------------------------------分隔符-------------------------------------------------------

学习路线

我是学软件的,对c语言,数电比较了解,编译原理没学过,计算机组成原理,模电,嵌入式,操作系统这几门课都学的不是很好。以上是对前任式有帮助的学科,当然我觉得就算没学好也不影响。但c语言是一定要学的

从易到难,做项目能更快的提升自己,在做项目的过程中抱有问题的去学习

  1. 总线式多点温度的智能检测与控制
  2. 操作系统移植
  3. 基于arm版的小车灭火机器人

总线式多点温度的智能检测与控制

我的入门指导:Proteus电路仿真及应用(51单片机系列)https://www.bilibili.com/video/BV1H7411n7AY
当我对嵌入式一窍不通的时候,各种工具也就听说了个名字,老师叫我们做实验我一脸懵逼。当初就是看的这个视频入了门,在此非常感谢视频创作者与分享者。这个视频主要讲的是没有实物硬件,用仿真软件进行学习,一共8个小时,2倍数4个小时就看完了,当然我只是过了一遍,其中的流水灯,lcd1602,和温度传感器因为作业原因多看了几遍并实现

操作系统移植

还没开始,我打算把ucos系统读一遍

基于arm版的小车灭火机器人

工业机器人的综合设计,正在做
https://blog.csdn.net/qlexcel/article/details/54949093 Keil的软件仿真和硬件仿真
https://blog.csdn.net/qq_22329595/article/details/79315028 J-Flash使用方法
https://blog.csdn.net/u012840934/article/details/83051384 Keil5 手动安装STM32 芯片包
http://news.eeworld.com.cn/mcu/ic486017.html 通过J-FLASH方式烧写程序到STM32

大概过程

先装环境:编译环境keil4,烧写工具j-flash,串口驱动,串口调试助手。
编译环境我用的keil4mdk,装好后要破解,然后你要建一个工程,工程编译的时候需要你的芯片包,这个就要自己去官网下载,网上有很多教程。还要下载J-flash用来把编译好的8进制文件进行烧录到单片机上。连接的时候可能识别不了,就需要串口驱动。然后单片机进行输出,如果想把内容输出到电脑上就要用串口调试工具。

过程中最难的就是环境的搭建和工具的使用,然后还有硬件的连接。像代码这则东西最好有现成的,直接就可以跑的,我搞这个实验花费最多就是查各种资料,其实到最后几乎都没用。如果有人能带你过一遍,把整个过程跑出来,程序写到小车上能够运行,那是最好的,可惜我是自己和室友照着教程一步一步弄的,教材早老的掉牙了,各种工具还不匹配,而且书上芯片和用的芯片不是同一个,真的服了,搞这个花了n长时间。其实原理特别简单,但最后要查收了我们没弄出来赶鸭子上架就用别人的了。

原理: 用红外探测仪,或者超长波传感仪,连接到单片机的面包板上,然后信号输入到单片机的某个io口,在单片机里写程序,通过时间来推算障碍物的距离,然后再发信号让电机转动,达到后退转弯什么的,就是避障了。灭火是一样的,用霍尔元件检测温度,然后做出反应。

代码如下,环境不一样直接拿过去是很难直接跑起来的,但是代码很简单,你看懂了自己改一下与自己环境对应就能实现了,然后这是避障的代码,灭火没时间搞了,老师说搞出来避障就算及格

这个是arm的 用的是stm32f103vct6

#include "stm32f10x_heads.h"
#include "HelloRobot.h"		

#define LeftLaunch_1  GPIO_SetBits(GPIOE, GPIO_Pin_1)    //左边红外发射
#define LeftLaunch_0  GPIO_ResetBits(GPIOE, GPIO_Pin_1)  //左边红外发射
#define RightLaunch_1 GPIO_SetBits(GPIOE, GPIO_Pin_0)    //右边红外发射
#define RightLaunch_0 GPIO_ResetBits(GPIOE, GPIO_Pin_0)  //右边红外发射
#define LeftIR   GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_3)  //左边红外接收
#define RightIR  GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_2)  //右边红外接收

void IRLaunch(unsigned char IR)
{
   
    int counter;
    if(IR=='L')	//左边发射
 	for(counter=0;counter<1000;counter++)	//发射时间比胡须长
    {
   
    	LeftLaunch_1;
        delay_nus(12);
     	LeftLaunch_0;
        delay_nus(12);
    }
  	if(IR=='R')	//右边发射
    for(counter=0;counter
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值