07定时器
定时器资源
CC2530有四个定时器TIM1~TIM4和休眠定时器
TIM1
定时器1 是一个独立的16 位定时器,支持典型的定时/计数功能,比如输入捕获,输出比较和PWM 功能。定时器有五个独立的捕获/比较通道。每个通道定时器使用一个I/O 引脚。定时器用于范围广泛的控制和测量应用,可用的五个通道的正计数/倒计数模式将允许诸如电机控制应用的实现
五个捕获/比较通道
上升沿、下降沿或任何边沿的输入捕获
设置、清除或切换输出比较
自由运行、模或正计数/倒计数操作
可被 1,8,32 或 128 整除的时钟分频器
在每个捕获/比较和最终计数上生成中断请求
DMA 触发功能
TIM3和TIM4
定时器3 和4 是两个8 位的定时器。每个定时器有两个独立的比较通道,每个通道上使用一个I/O 引脚。
两个捕获/比较通道
设置、清除或切换输出比较
时钟分频器,可以被 1,2,4,8,16,32,64,128 整除
在每次捕获/比较和最终计数事件发生时产生中断请求
DMA 触发功能
TIM2和休眠定时器
定时器2 主要用于为802.15.4 CSMA-CA 算法提供定时,以及为802.15. ...
06串口、时钟
预备知识
CC2530在正常运行的时候需要一个高频时钟信号和一个低频的时钟信号
高频时钟信号,主要供给CPU,保证程序的运行。
低频时钟信号,主要供给看门狗、睡眠定时器等偏上外设。
CC2530时钟信号的来源:
高频信号有2个,芯片内部的16M RC电路;外接的32M石英晶振
低频信号也有2个来源,芯片内部的32K RC电路,外接的32.768K石英晶振。
CC2530芯片默认上电的时候,是内部的2个RC电路作为高频和低频的时钟来源。
如果使用串口,特别是无线通信的时候,必须要用32M的石英晶振作为高频时钟来源。
高频时钟源特点:
2高频时钟源可以同时起振产生高频时钟信号;
2个低频时钟源,某一时刻只能有1个起振,并且起振的这个时钟源供给CC2530.
系统时钟转换
系统高频时钟源切换的步骤:
让2个高频时钟源起振(SLEEPCMD)
等待目标时钟源振荡稳定(SLEEPSTA )
延时一小段时间63us
不分频输出(CLKCONCMD )
选中目标高频时钟源作为系统主时钟(CLKCONCMD )
确认一下当前工 ...
05外部中断
中断初始化配置步骤:
IO口初始化配置
开启中断总允许EA
打开某个IO口的中断允许
打开IO口的某一位的中断允许
配置该位的中断触发方式
中断函数:
12#pragma vector = PxINT_VECTOR__interrupt void 函数名(void){}
中断配置寄存器
IENx中断使能寄存器
如果使能P0口中断,可直接使用P0IE = 1,但是使能P1/P2口中断,不能直接对单独的某一位进行操作,需要进行或操作开启,如IEN2 |= 0x10; // 0001 0000 相当于P1IE=1
PxIEN 通用 I/O 中断
通用 I/O 引脚设置为输入后,可以用于产生中断。中断可以设置在外部信号的上升或下降沿触发。P0、P1或 P2 端口都有中断使能位
PICTL 中断边缘寄存器
PxIFG中断状态标志寄存器
当中断条件发生在 I/O 引脚之一上面,P0-P2 中断标志寄存器 P0IFG、P1IFG 或 P2IFG 中相应的中断状态标志将设置为 1。不管引脚是否设置了它的中断使能位,中断状态标志都被设置。当 ...
04基本IO口操作
CC2530端口资源:三个端口,表示为 P0、P1 和 P2。P0 和 P1 是完全的 8 位端口,而 P2 仅有 5 位可用
CC2530的IO口的一些功能:
通用IO口、外设IO口(定时器、USART、ADC)
输入引脚、输出引脚
当输入时,上拉、下拉、高阻态(三态)
寄存器简略介绍:
PxSEL 置0为通用I/O口,置1为专用功能
PxDIR 置0为输入模式,置1为输出模式
PxINP 置0为上/下拉模式,置1位三态模式(高阻态)
1.对应P1INP和P0INP来说,0~7位均满足上述规则
2.对于P2INP来说,0 ~ 4位满足上述规则,5 ~ 7为专用功能,即5、6、7分别用来控制P0、P1、P2组端口的上下拉模式(0上拉、1下拉)
端口配置寄存器
PxSEL寄存器
寄存器 PxSEL,其中 x 为端口的标号 0~2,用来设置端口的每个引脚为通用 I/O(0) 或者是外部设备I/O(1)。
默认上电后为普通IO口上拉输入
P2组只有5个IO口,但是P2_1和P2_2是用于下载程序用的,所以这两个IO不需要配置
因此P2S ...
03新建ZigBee工程
看本文之前,确保已经安装IAR及相应的驱动
一、新建工程
打开IAR软件
点击【Project】-【Create New Project】
选择【8051】-【空工程】,然后点击ok
将新建的工程存放到一个文件夹中,并给工程命名
二、新建文件
新建空白文件
在空白文件界面中,按下Ctrl+S,或者点击左上角的保存选项
给保存的文件命名为***.c文件
右键点击工程,点击【Add Files】
选择刚才添加的文件,然后点击【打开】
左侧如下图所示则表添加成功
打开刚才添加的.c文件,在里面输入以下代码,然后保存
三、编译
点击【编译】图标进行编译
输入工作空间的名称,这里命名为test_w,然后点击保存
编译结果,0错误,0警告
四、配置工程
右键工程,选择【options】。(右键工程,就是那个图标是蓝色方块的!!!)
打开【Device】后面的三个点
找到并打开【Texas Instruments】文件,然后找到并选择【CC2530F256.i51】
完成第3步后,界面应该如下所示
...
02驱动安装
仿真器驱动
右键此电脑,选择【管理】-【设备管理器】
在其他设备中找到改驱动,鼠标右键,点击更新驱动程序
选择【浏览我的电脑移查找驱动程序】
浏览路径,选择下图所示文件夹
勾选包含子文件夹,点击下一步进行安装
安装成功效果
01IAR-8051安装
新版安装教程:IAR EW for 8051 简介与安装
新版软件注册:IAR EW for 8051 软件注册 - 知乎
这个新版的我也放到网盘里面了,自己自行选择安装
一、下载IAR-8051
链接:https://pan.baidu.com/s/1mYwSQvSjAiSzltrEbK3yAw?pwd=43cd
提取码:43cd
二、安装IAR-8051
以管理员身份运行EW8051-EV-8103-Web.exe
一路全选next,只到下图所示页面,其中的name和company随意填,license从注册机中获得
以管理员身份运行注册机【关闭电脑声音…】
将生成的license复制到安装界面中,然后点击next
将license key复制到安装界面对位置,然后就可以关闭注册机了
安装界面继续下一步,可以在下图所示界面更改安装路径
继续下一步,知道安装成功
安装成功后,不会创建桌面快捷方式,这时需要到开始菜单栏中找到, 然后直接拖到桌面即可
ESP8266连接阿里云
一、注册、登录阿里云
1.注册账号、登录阿里云
具体过程略…
2.打开控制台
3.搜索物联网平台
4.进入物联网平台,开通公共实例
二、创建产品、添加设备
1.创建产品
(1)开通后,进入公共实例,在设备管理菜单下找到产品,然后点击创建产品
(2)在新建产品页面,输入【产品名称】、所属品类选择【自定义品类】、WiFi方式连接,其他选项默认
(3)点击确定->查看产品详情
2.添加功能模块
(1)点击【查看产品详情】后进入新页面,找到并点击【功能定义】
(2)点击编辑草稿
(3)点击【添加自定义功能】
(4)这里以“开关”为例进行操作
(5)添加成功后如果需要其他功能,继续点击【添加自定义功能】添加其他功能
(6)确定需要功能添加完后,点击【发布上线】
3.添加设备
(1)在左侧导航栏找到【设备】,点击进入
(2)点击【添加设备】,输入信息
(3)点击【确定】后,在下个窗口继续点击【完成】
(4)添加成功后如下图所示
三、ESP8266固件烧录
烧录所需资源
链接:https://pan.baidu.com/s/1TsdqrG8J2jgWOy ...
YOLOv5入门
模型检测
关键参数
weights:训练好的模型文件
source: 检测的目标,可以是单张图片、文件夹、屏幕或者摄像头等
conf-thres: 置信度闯值,越低框越多,越高框越少
iou-thres: IOU闻值,越低框越少,越少框越多
torch.hub检测方法
安装Jupyter
命令行输入以下代码
123pip install -i https://pypi.tuna.tsinghua.edu.cn/simple jupyterlabconda install ipykernel
激活环境
1python -m ipykernel install --name yolov5
新建Jupyter文件
hub_detect.ipynb
12345678910111213import torch#Modelmodel = torch.hub.load("./","yolov5s",source= "local")#Imagesimg = "./data/images/zidane.jpg"# ...
YOLOv5可视化界面
Pyside6可视化界面
安装Pyside6
激活之前的虚拟环境yolov5
在该环境的终端输入以下命令
1pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyside6
输入where python找到当前使用的Python的路径
找到该路径下的designer.exe文件(/Lib/site-packages/PySide6/designer.exe),然后发送到桌面创建快捷方式
UI设计
打开designer
选择Main Window
移除菜单栏
拖两个label个一个line进来
拖两个button进入,并进行命名
调整界面,填写两个label里面文件,将界面调小一些
居中对齐,同时勾选scaledContents
元素名称更改
Ctrl+S保存,保存到上一部分训练数据集的文件内
设置Pyside6-uic 工具
在当前虚拟环境的Python路径下,打开Scripts文件夹夹,找到pyside6-uic.exe,记住当前路径
创建工具
1234名 ...