嵌入式系统设计

平时成绩:器件完整、教材整洁

挂:看视频、毁坏器件,吃东西

淘宝店:https://webee.taobao.com

器件:

  1. USB线
  2. 核心板
  3. 烧写器
  4. 白色绑线、静电袋

差错:

  1. 设备管理是否出现 CC Debugger
  2. 烧写器上面的绿灯是否亮
  3. Project-option是否正确

第一课 2.27

General Device:
C:\Program Files (x86)\IAR Systems\Embedded Workbench 6.0 Evaluation\8051\config\devices\Texas Instruments

课堂练习

以下IO口的作用:

  1. P0.0-P0.7
  2. P1.0-P1.7
  3. P2.0-P2.4

课后问题

  1. BLE代表什么?
  2. 串口各种标准的差异?
  3. RS232/RS485差异?
  4. Dongle有什么作用?
BLE Wifi Zigbee
组网方式
协议
载波频率
传输距离
芯片(TI CCxxxx)

第二课 2.28

课堂练习

  1. 两个LED灯,对应两个按键

课后练习

  1. Delayms() 如何实现延时 X ms?有没有误差?
  2. KeyScan() 实现的流程?
  3. 中断处理流程,开关,中断向量表(图文)
  4. SFR代表什么?
  5. SFR 语法
  6. SFRBIT语法
  7. Volatile 作用
  8. 代码的自动对齐方式?
  9. 如何多个文件共存一个项目?

第三课 3.6

课堂练习

2.4定时器
查询示LED灯

  1. LED1/LED2交替闪
  2. 2秒闪一次

中断LED灯

  1. LED1 1秒闪1次
  2. LED2 5秒闪1次

课堂练习

串口通讯1

  1. 波特率改为38400,奇校验,2个停止位
  2. 发送内容为“Hello BLE 学号 名字拼音”

课后练习

  1. 名词解析:波特率、校验位、数据位、停止位
  2. 上述名词所对应的寄存器设置
  3. 如何在main中将时钟频率设为32MHz
  4. 串口工作方式的对比:SPI、I2C、UART的区别
SPI I2C UART
同步or异步
时钟信号
多少根导线,以及每根线的作用
速率
应用场景
优缺点
工作模式
...

继续补充差异

第四课 3.7

课堂练习

串口通讯2: 发送+接受
将接收到的数据,在串口屏幕住手上显示两次

课后练习

参考: 芯片手册P69, 4.4

  1. 芯片上面有多少个时钟信号?
  2. 各个时钟信号,各有什么用途、优缺点?
  3. 各个时钟频率是如何设置的?有没有先后顺序?
  4. 频率是如何产生的?晶振和RC振荡器的公式是?

第五课 3.13

课堂练习

2.5.3 UART0控制LED

2.6 温度控制
a) 12位温度控制,改为10位温度的控制,结果会如何?同时显示出来
b) 1.5秒温度控制一次,同时显示12位与10位的采集结果
c) 矫正传感器,让传感器的输出在25-35之间

2.7.1 睡眠唤醒
a) 两个按钮都能唤醒
b) 红灯闪4下

课后练习

a) 温度的意义,温度与电压的对应关系?如何算算出来的?网上查资料,以及参考<<2540_datasheet.pdf>>
b) 采集温度的过程,采样所需要的时间? 不同分辨率情况下(10bit、12bit等)采样的最高理论频率是?
c) CC2540有哪些口可以实现AD转换?

低温 11.0 =》25.0(室温)
高温 13.2 =》35.1 (手)

第六课 3.14

课堂练习

2.7.2 睡眠唤醒
a) 绿灯3下<=>红灯3下,交替闪

2.8 看门狗
a) 看到不断重启的现象

3.3.1 串口发送

课后练习

  1. 继续检查AD转换
  2. 根据图3.12 BLE栈的工作流程,画出程序调用的流程图(函数/路径/作用)

第七课 3.20

AL: Abstract Layer
Source Insight经典教程
掌握Source Insight 的使用

课堂练习

3.3.1 串口发送

3.3.2 串口接收
a) 两个项目都要修改:SimpleBLEPeripheral & SimpleBLECentral
b) “BLE Perpheral” 是哪行代码打印出来的?
c) “Initialized” 是哪行代码打印出来的?
d) “Advertising” 是哪行代码打印出来的?
e) 在后面一行打印名字、学号

课后练习

  1. 为什么必须关闭流控制?
  2. 为什么要注释掉POWER_SAVING ?
  3. 为什么要加入 HAL_UART=TRUE ?
  4. 展示Central和Peripheral的结果,修改的地方

DB: 代表的是?

第八课 3.21

课堂练习

3.4 协议栈的按钮实验
a) 两个项目都要修改:SimpleBLEPeripheral & SimpleBLECentral

3.5 无线传输入门
a) 通过向Central 发送1/2/3/4/5控制连接(P174-177)

课后练习

  1. RegisterForKeys(), 如何注册事件?当按下按键时,如何能够调用到相关的函数?列出所有的调用流程。

第九课 3.27

3.6 实现上电自动连接

课堂练习

  1. 实现自动连接(按照书上代码)
  2. 假设Central搜索不到Peripheral,则间隔5秒再扫描,直至连接上;距离远了,两个设备断开连接;距离靠近,又能自动连接上

课后练习

  1. RSSI的含义,单位,dbm与db的区别
  2. Central和Peripheral如何读取到各自的MAC地址(代码)
  3. 连接过程的流程图(代码框架)
嵌入式系统设计_第1张图片
Paste_Image.png
嵌入式系统设计_第2张图片
Paste_Image.png

第十课 3.28

课堂练习

  • 3.7 Profile简单介绍
  • 3.8 simpleGATTProfile及Btool的使用
    (a) 底板为CC2540EM(不是USB Dangle)
    《TI_BLE_Vendor_Specific_HCI_Guid.pdf》
  • 3.9 利用Profiles的特征值进行无线点灯
    (a) SW1控制LED1的亮灭
    (b) SW2控制LED2的亮灭

课后练习

以下定义的区别与联系,以及在代码中是如何实现的(数据结构/API):

  1. Profile
  • UUID
  • handle
  • Characteristic Values
  • GATT
  • GAP

期末考试

设计一个实验,要求新意与复杂度,先后顺序(10分钟/组),在规定时间内做好 presentation和演示。

  1. 代码
    a) 说明修改的部分
  • 运行结果(多样化)
    a) 指示灯
    b) 串口助手
    c) BTools
  • 文档
    a) 详略得当
    b) 结构清晰
  • 可以选择自行购买传感器进行实验

你可能感兴趣的:(嵌入式系统设计)