嵌入式物联网开发,linux,单片机32

  • 一.嵌入式介绍
  • 二.linux系统介绍
    • 1.ubuntu使用安装
    • 以下自行查阅资料学习,内容较多不是一时半会能学完的编程内容,最基本是C语言的熟练掌握
    • 2.shell编程
    • 3.系统编程
    • 4.io编程
    • 5.网络编程
      • 5.1重点套接字,tcp udp ip协议介绍
    • 6.编译环境 ,交叉编译,开发板
  • 三.单片机stm32介绍 arm概述
    • 1.开发环境mkd5安装
      • 1.1mkd5工程开发环境配置
    • 2.stm32单片机如何编写硬件进行使用
      • 2.1 gpio
      • 2.2 时钟体系
      • 2.3 位带操作
      • 2.4 中断
      • 2.5 启动文件
      • 2.6 系统定时器
      • 2.7 硬件定时器
      • 2.8 脉冲宽度调节
      • 2.9 串口usart
      • 2,10 蓝牙模块
      • 2.11 温湿度模块
      • 2.12 独立看门狗 窗口看门狗
      • 2.13 红外
      • 2.14 RTC
      • 2.15 FLASH
      • 2.16 ADC DAC
      • 2.17 I2C
      • 2.18 spi
    • 3.单片机编程思想(要会看开发文件)

一.嵌入式介绍

一个嵌入式系统装置一般都由嵌入式计算机系统和执行装置组成,嵌入式计算机系统是整个嵌入式系统的核心,由硬件层、中间层、系统软件层和应用软件层组成。执行装置也称为被控对象,它可以接受嵌入式计算机系统发出的控制命令,执行所规定的操作或任务。执行装置可以很简单,如手机上的一个微小型的电机,当手机处于震动接收状态时打开;也可以很复杂,如SONY 智能机器狗,上面集成了多个微小型控制电机和多种传感器,从而可以执行各种复杂的动作和感受各种状态信息。

二.linux系统介绍

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
Unix衍生linux,Linux操作系统诞生于1991 年10 月5 日(这是第一次正式向外公布时间)。Linux存在着许多不同的Linux版本(ubuntu Red Hat CentOS 安卓。。。),但它们都使用了Linux内核。Linux可安装在各种
计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统。linux系统场合:手机 平板 路由器 电视 服务器.

1.ubuntu使用安装

ubuntu下载地址:https://ubuntu.com/download/alternative-downloads (下载16.04 桌面版)
虚机:https://blog.csdn.net/qq_31362105/article/details/80706096:VMware-workstation-full-12.1.0-3272444.exe
Linux系统搭建过程:
1、下载VMware及ubuntu
2、安装VMware(在之前已经安装过,则不要再装虚拟机)
3、安装ubuntu-16.04.4-desktop-amd64.iso
Linux系统认知:linux没有盘的概念,Linux文件以目录的概念存在,最大的目录叫根目录,根目录挂子目录 目,录理解为window的文件夹,最大目录为根目录 : /

以下自行查阅资料学习,内容较多不是一时半会能学完的编程内容,最基本是C语言的熟练掌握

2.shell编程

3.系统编程

4.io编程

5.网络编程

5.1重点套接字,tcp udp ip协议介绍

6.编译环境 ,交叉编译,开发板

三.单片机stm32介绍 arm概述

1.开发环境mkd5安装






破译的方法 自行查询网上资料都有破译软件进行破译

1.1mkd5工程开发环境配置




然后选择自己对应的开发板的信号,如果没用对应的型号 自行网上下载固件库移植。
然后以下操作是以我自己选的一个芯片对应的固件库来操作 不同芯片对应固件库不一样,自然编程也不一样,就好如f1系列的编写和f4编写,f4函数定义比f1多,不过大同小异,都是要自己根据手册进行程序编写即可





把刚刚复制到对应的文件夹的 文件添加进去


输入 USE_STDPERIPH_DRIVER ,并在include paths 选择刚刚对应的三个文件夹库

2.stm32单片机如何编写硬件进行使用

你添加的 固件库有对应的编写函数定义好的,自行阅读编写即可

2.1 gpio

2.2 时钟体系

给单片机提供一个时钟信号(一个非常稳定的频率信号),使单片机各内部组件同步工作,并且在和外部设备通信时是也能达到同步。
● HSI 振荡器时钟,也就是高速内部时钟,一般来说很少用,因为精度没有外部高速时钟那么高。
● HSE 振荡器时钟,也就是高速外部时钟,GECM4 开发板 8MHz。
● 主 PLL (PLL) 时钟
b.器件具有以下两个次级时钟源:
● 32 kHz 低速内部 RC (LSI RC),该 RC 用于驱动独立看门狗,也可选择提供给 RTC 用于停机/待机模式下的自动唤醒。
● 32.768 kHz 低速外部晶振(LSE 晶振),用于驱动 RTC 时钟 (RTCCLK)对于每个时钟源来说,在未使用时都可单独打开或者关闭,以降低功耗。

2.3 位带操作

GPIO_SetBits、GPIO_ResetBits操作IO口的性能没有达到极致,因为这些函数都需要进行现场保护和现场恢复的动作,比较耗时间,没有进行一步到位,使用位带操作则没有上述的烦恼,简单快速!
GPIO_SetBits(GPIOF,GPIO_Pin_9);修改为PFout(9)=1;

2.4 中断

中断的定义及中断工作方式
由于内部或外部“偶然”事件的发生,导致CPU暂停当前的进程,转入预先安排好的事件服务程序(中断服务程序)中去,执行其代码并为其服务(事件处理),待服务完成后,CPU再回到被打断的进程中继续工作的过程。
如何编写 自行查阅固件库文件函数

2.5 启动文件

1、定义 启动文件由汇编编写,是系统上电复位后第一执行的程序。
2、特征
1)初始化堆栈指针,主要是为 C 语言提供良好的运行环境
2)进行复位处理,执行该 Reset_Handler 函数
3)初始化向量表,中断入口地址列表
4)配置系统的时钟,调用 SystemInit
5)调用 C 库函数__main 进入 main.c 中的 main 函数执行

2.6 系统定时器

SysTick 叫做系统滴答时钟、系统定时器,属于 Cortex-M4 内核中的一个外设(外围设备),并且是24bit 向下递减 的计数器。

2.7 硬件定时器

举个例子 比如STM32F407
2 个高级控制定时器、10 个通用定时器和 2 个基本定时器高级控制定时器 (TIM1 和 TIM8),挂载到APB2
具有 16 位定时器功能,也具有 PWM 输出高级控制功能
通用定时器(TIM2 到 TIM5),挂载到APB1
具有 16或32位定时功能,也具有 PWM 输出控制功能
通用定时器(TIM9 到 TIM14),挂载到APB2
具有 16 位定时功能,也具有 PWM 输出控制功能
基本定时器(TIM6 和 TIM7),挂载到APB1
具有 16 位定时功能。

2.8 脉冲宽度调节

2.9 串口usart

看我以前的文章有写

2,10 蓝牙模块

2.11 温湿度模块

2.12 独立看门狗 窗口看门狗

看门狗电路的应用,使单片机可以在无人状态下实现连续工作,其工作原理是:看门狗芯片和单片机的一个I/O引脚相连,该I/O引脚通过程序控制它定时地往看门狗的这个引脚上送入高电平(或低电平),这一程序语句是分散地放在单片机其他控制语句中间的,一旦单片机由于干扰造成程序跑飞后而陷入某一程序段进入死循环状态时,写看门狗引脚的程序便不能被执行,这个时候,看门狗电路就会由于得不到单片机送来的信号,便在它和单片机复位引脚相连的引脚上送出一个复位信号,使单片机发生复位。即程序从程序存储器的起始位置开始执行,这样便实现了单片机的自动复位。

2.13 红外

2.14 RTC

看我以前的文章有写

2.15 FLASH

闪存(Flash Memory)是一种长寿命的非易失性(在断电情况下仍能保持所存储的数据信息)的存储器。用途SD卡、固态硬盘、芯片内存存储单元存储代码

2.16 ADC DAC

ADC,Analog-to-Digital Converter的缩写,指模/数转换器或者模数转换器。是指将连续变化的模拟信号转换为离散的数字信号的器件。真实世界的模拟信号,例如温度、压力、声音或者图像等,需要转换成更容易储存、处理和发射的数字形式。模/数转换器可以实现这个功能,在各种不同的产品中都可以找到它的身影。

2.17 I2C



2.18 spi

3.单片机编程思想(要会看开发文件)

每一款芯片都会有它自己的使用手册,基本是英文的,因为stm不是国产的,也有可能有中文版本的手册可以阅读,根据手册进行函数编写,还可以看固件库的函数.c也有对应的 初始化编写代码。

嵌入式物联网开发,linux,单片机32(仅供借鉴,代码不共享 自行编写)相关推荐

  1. C语言迷宫如何实现多个关卡,c语言实现迷宫问题#仅供借鉴

    <c语言实现迷宫问题#仅供借鉴>由会员分享,可在线阅读,更多相关<c语言实现迷宫问题#仅供借鉴(20页珍藏版)>请在人人文库网上搜索. 1.数据结构试验迷宫问题(一)基本问题1 ...

  2. JAVA后端开发必备软件(仅供参考)

    更新一些个人JAVA开发日常会用到的一些工具,只是为了自己可能会换电脑,或者为新手做一些推荐,日后可能会更新相应软件的安装指南,以及一些安装包资源 idea或者eclipse等编程工具 Visio画流 ...

  3. 无语:SEGA开发尿尿游戏 仅供男性专用

    日前,日本著名游戏厂商SEGA展示了一款以尿尿为主题的奇特游戏. 这款游戏名为 <(厕所嘘嘘トイレッツ)>,是设计安放在厕所内一个特殊装置里的,光是听名字就猥琐至极,游戏内容也是极其厉害, ...

  4. FPGA开发要求小结【仅供参考】

    职位信息: 1.参与项目FPGA需求分析和FPGAJ顶层概要设计; 2.完成FPGA外围硬件电路的设计.验证工作; 3.完成FPGA代码编写.仿真.调试.验证工作,完成项目技术文档编写; 4.完成产品 ...

  5. 物联网开发笔记(32)- 使用Micropython开发ESP32开发板之手机扫二维码远程控制开关灯(2)

    一.目的 上一节我们测试了远程控制的环境是好的,这一节在我们的240x240的oled屏幕上显示二维码,然后用手机扫二维码,远程控制LED灯的状态. 二.环境 ESP32 + 240x240的oled ...

  6. linux台式电脑怎么共享无线网,linux – 如何与仅支持以太网的计算机共享我的Internet连接(无线)?...

    我在服务器配置中设置了raspberry pi B,它通过带有USB加密狗的Wifi成功连接到互联网. 我的另一个pi(A)一直位于车库的楼下,从以太网电缆连接到我的调制解调器. 虽然不得不跑下楼来修 ...

  7. App Inventor 2 游戏开发最佳入门,仅27个代码块

    27个代码块就能完成的一款有趣的弹球游戏,非常适合游戏App入门. 游戏截图 弹球游戏教程(难度系数:★☆) 找素材并上传 需要的素材有:一个挡板图片,可以去"中文论坛"置顶帖中自 ...

  8. 【疯壳·嵌入式平板开发教程1】手把手教你做平板电脑-Linux 引导过程

    Linux 引导过程 --疯壳·嵌入式平板开发 Linux 内核与 Android 系统 linux 内核有什么区别?    什么是引导装载程序?   什么是 Zygote?    什么是 init. ...

  9. “开源”将成为物联网开发生态链的标准

    2019独角兽企业重金招聘Python工程师标准>>> 这对整个物联网行业来说无疑是一个好消息,因为开源可以减少和消除"专有标准"导致的兼容问题. 这也许是软件开 ...

最新文章

  1. Design Pattern - Decorator(C#)
  2. JavaScript DOM编程艺术 - 读书笔记1-3章
  3. springBoot搭建activiti工作流
  4. 百度云虚拟机 隐藏index.php,wamp server虚拟主机设置index.php隐藏(入口文件隐藏)
  5. go语言中变量的定义和使用
  6. 35岁前把下面十件事做好
  7. Asp.Net Core 单元测试正确姿势
  8. access 子窗体 鼠标滚动不工作_Python GUI项目实战(五)明细信息窗体的完善
  9. [算法总结] 13 道题搞定 BAT 面试——字符串
  10. (转载)java中super的两种用法
  11. 【java笔记】常用函数式接口(4):Funtion接口
  12. 条形图设置颜色Java_java – 如何在条形图中显示每个条形的条形值?
  13. LeetCode刷题——167. 两数之和 II - 输入有序数组
  14. SPFA和FLOYD算法如何打印路径
  15. C#之CAD二次开发: Ribbon界面初探
  16. 第16章 SQL BETWEEN 操作符教程
  17. 【内网安全】WinLinux内存离线读取Hashcat破解RDPSSH存储提取
  18. 手机如何远程控制和监控PLC
  19. foter 图像处理APP_黑科技!图像识别app开发的用处原来这么多?
  20. 微信公众平台登陆小程序后,在 开发-开发者工具 下,找不到 腾讯云

热门文章

  1. 历代魅族旗舰手机主要参数对比,更新于2021年5月
  2. Python——实现网页模拟键盘输入和鼠标点击
  3. C/C++编程:析构函数
  4. 妇女节到了,祝福所有女神 Happy Women‘s Day!
  5. 华为交换机创建账号密码方式SSH登录
  6. 惠普HP LaserJet P4515xm 打印机驱动
  7. 如何隐藏浏览器的菜单栏、地址栏,浏览器窗口全屏,浏览器全屏分屏
  8. Java 计算一段时间段内除去周六日、节假日的工作日数———超详细(全)
  9. DataOps离我们还有多远
  10. Photoshop2018 安装和破解