<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[younger_showtime的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/younger_showtime</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; younger_showtime]]></copyright><item><title><![CDATA[十六、串口命令控制LED灯开关]]></title><link>https://blog.youkuaiyun.com/younger_showtime/article/details/117214608</link><guid>https://blog.youkuaiyun.com/younger_showtime/article/details/117214608</guid><author>younger_showtime</author><pubDate>Mon, 24 May 2021 08:48:20 +0800</pubDate><description><![CDATA[【1 】USART0选择UART模式，波特率9600，I/O引脚映射到备用位置1。
【2】命令字“0xA1”，点亮D4灯，操作完成后，返回“D4 is open!”。
【3】命令字“OxA2”，关闭D4灯，操作完成后，返回“D4 is closed!”。
【4】命令字“OxB1”，点亮D6灯，操作完成后，返回"D6 is open!”。
【5】命令字“OxB2”，关闭D6灯，操作完成后，返回“D6 is closed!”。
#include"ioCC2530.h"
#define D4 P1_1
#defi]]></description><category></category></item><item><title><![CDATA[十五、串口数据收发基础]]></title><link>https://blog.youkuaiyun.com/younger_showtime/article/details/117214582</link><guid>https://blog.youkuaiyun.com/younger_showtime/article/details/117214582</guid><author>younger_showtime</author><pubDate>Mon, 24 May 2021 08:47:46 +0800</pubDate><description><![CDATA[【1】USART0选择UART模式，波特率9600，I/O引脚映射到备用位置1。
【2】串口接收到上位机的一个数据后，在原值上加1，发回上位机。
【3】D3灯作为数据接收指示灯，在接收到一个数据后，D3灯点亮;D5灯作为数据发送指示灯，在数据发送之前点亮，在数据发送完成后，D3灯和D5灯同时熄灭。
#include"ioCC2530.h"
#define D5 P1_3
#define D3 P1_0
//系统时钟切换函数
void Set_Clock_32MHZ()
{
  CLKCONCMD&amp;=]]></description><category></category></item><item><title><![CDATA[十四、串口数据发送基础]]></title><link>https://blog.youkuaiyun.com/younger_showtime/article/details/117214563</link><guid>https://blog.youkuaiyun.com/younger_showtime/article/details/117214563</guid><author>younger_showtime</author><pubDate>Mon, 24 May 2021 08:47:14 +0800</pubDate><description><![CDATA[【1】USART0选择UART模式，波特率9600，I/O引脚映射到备用位置1。
【2】利用看门狗定时器的定时功能实现1秒定时。
【3】在看门狗中断服务函数中，由串口向上位机发送“Hello Word ! ",回车换行。D5灯作为数据发送指示灯，在字符串发送前点亮，在字符串发送结束后熄灭。
#include"ioCC2530.h"
#define D5 P1_3
//系统时钟切换函数
void Set_Clock_32MHZ()
{
  CLKCONCMD&amp;=~0X40;//要操作的位为0100 0]]></description><category></category></item><item><title><![CDATA[十三、CC2530串口及相关寄存器]]></title><link>https://blog.youkuaiyun.com/younger_showtime/article/details/117214495</link><guid>https://blog.youkuaiyun.com/younger_showtime/article/details/117214495</guid><author>younger_showtime</author><pubDate>Mon, 24 May 2021 08:46:01 +0800</pubDate><description><![CDATA[CC2530串口资源概述
CC2530有两个串行通信接口USART0和USART1，它们能够分别运行于异步UART模式或者同步SPI模式。
通常说的串口是指异步UART模式。
波特率计算与设置
CC2530的波特率由BAUD_E和BAUD_M共同决定。
计算公式为：
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hR6Caeo8-1621817061280)(十三、CC2530串口及相关寄存器.assets/clip_image002.gif)]
由于计算公式较为复杂，但是我]]></description><category></category></item><item><title><![CDATA[十二、CC2530系统时钟设置]]></title><link>https://blog.youkuaiyun.com/younger_showtime/article/details/117214481</link><guid>https://blog.youkuaiyun.com/younger_showtime/article/details/117214481</guid><author>younger_showtime</author><pubDate>Mon, 24 May 2021 08:44:52 +0800</pubDate><description><![CDATA[CC2530系统时钟概述
系统时钟源:32MHz的外部晶振或16MHz内部RC振荡器。
32MHz外部晶振的启动时间对一些应用程序来说可能比较长,所以设备可以运行在16MHz的内部RC振荡器。系统上电默认是16MHZ的内部RC振荡器。
RC振荡器的功耗少于外部晶振，但是精度不如外部晶振高，因此，要使用RF收发器，必须使用32MHz晶体振荡器。
做Zigbee协议栈，做点对点BasicRF的数据传输都需要对晶振进行切换
但是已经帮我们做好了。。。。。。。
2.4G无线收发、串口通信是建议使用32MHz晶体振荡]]></description><category></category></item><item><title><![CDATA[十一、看门狗定时器实现1秒定时]]></title><link>https://blog.youkuaiyun.com/younger_showtime/article/details/117214458</link><guid>https://blog.youkuaiyun.com/younger_showtime/article/details/117214458</guid><author>younger_showtime</author><pubDate>Mon, 24 May 2021 08:44:00 +0800</pubDate><description><![CDATA[看门狗定时器实现1秒定时
【1】将看门狗定时器设置成定时器模式。
【2】定时周期选择1秒。
【3】在看门狗中断服务函数中，切换D4灯的开关状态。
# include"ioCC2530.h"
#define D4 P1_1
void Init_Port()
{
  P1SEL &amp;=~0X1B;
  P1DIR |=0X1B;
  P1&amp;=~0X1B;
}

//**************************************
void Init_WDT()
{
  WDCTL=0X]]></description><category></category></item><item><title><![CDATA[十、前后台程序设计思维模式及其应用]]></title><link>https://blog.youkuaiyun.com/younger_showtime/article/details/117188569</link><guid>https://blog.youkuaiyun.com/younger_showtime/article/details/117188569</guid><author>younger_showtime</author><pubDate>Sun, 23 May 2021 10:21:23 +0800</pubDate><description><![CDATA[前后台的基本概念
前台系统：一般指中断级程序，即中断服务函数
后台系统：一般指任务级程序，即死循环中的主函数
基本思维模式
中断服务函数中的逻辑处理受到主函数运行的制约，主函数中的某些功能又取决于中断服务函数中的变量，两者相互关联,相互制约，协同运行。
以“按键的长按与短按实现”为例:
【前台工作】:定时器循环进行0.1秒间隔定时。按键按下，开始计算时间，按键松开，结束计算时间。
【后台工作】:扫描按键状态，在按键按下和松开时分别标志不同的变量值，并且对按键的按下时间T进行判断，决定按键是长按还是短按。
决]]></description><category></category></item><item><title><![CDATA[九、基于定时器的长按与短按]]></title><link>https://blog.youkuaiyun.com/younger_showtime/article/details/117188525</link><guid>https://blog.youkuaiyun.com/younger_showtime/article/details/117188525</guid><author>younger_showtime</author><pubDate>Sun, 23 May 2021 10:20:48 +0800</pubDate><description><![CDATA[基于定时器的长按与短按
【1】选择内部16MHz时钟的128分频作为计数器1的计数信号。
【2】在定时器1的模模式中实现0.1秒的间隔定时。
【3】当SW1按键长按松开后，切换D4灯的开光状态，当SW1按键短按松开后，切换D6灯的开光状态。
【注】按键按下时间大于0.5秒，可定义为长按，反之为短按。

# include"ioCC2530.h"
#define D4 P1_1
#define D6 P1_4
#define SW1 P1_2
unsigned int count=0;
unsigned ch]]></description><category></category></item><item><title><![CDATA[八、基于定时器1模模式的秒闪灯]]></title><link>https://blog.youkuaiyun.com/younger_showtime/article/details/117188506</link><guid>https://blog.youkuaiyun.com/younger_showtime/article/details/117188506</guid><author>younger_showtime</author><pubDate>Sun, 23 May 2021 10:19:35 +0800</pubDate><description><![CDATA[基于定时器1模模式的秒闪灯
【1】选择内部16MHz时钟的128分频作为计数器1的计数信号。
【2】在定时器1的模模式中实现0.1秒的间隔定时。
【3】在中断服务函数中,实现1秒的间隔定时，并翻转D4灯的开关状态，以实现秒闪灯的功能，即D4灯亮1秒，灭1秒…实现3秒的间隔定时，并翻转D6灯的开关状态，即D6灯亮3秒，灭3秒…
# include"ioCC2530.h"
#define D4 P1_1
#define D6 P1_4
unsigned int count=0;
void Init_Port()]]></description><category></category></item><item><title><![CDATA[七、CC2530定时器]]></title><link>https://blog.youkuaiyun.com/younger_showtime/article/details/117188478</link><guid>https://blog.youkuaiyun.com/younger_showtime/article/details/117188478</guid><author>younger_showtime</author><pubDate>Sun, 23 May 2021 10:19:08 +0800</pubDate><description><![CDATA[一 、 CC2530定时器定时器资源概述
1、普通定时器
CC2530共有5个定时/计数器，分别是:
a.    定时器1:
16位定时器，是CC2530中功能最全的一个定时/计数器，在应用中应优先选用。该定时器支持输入捕获、输出比较、PWM输出、能触发DMA功能，具有5个独立的捕获/比较通道，具有自由运行、模模式和正计数/倒计数三种不同工作模式。
可以通过两个8位的寄存器读取定时器1的16位计数器值：T1CNTH和T1CNTL。
当读取T1CNTL时，计数器的高位字节就会缓冲到T1CNTH,因此，我们必须]]></description><category></category></item><item><title><![CDATA[六、外部中断控制LED灯开关]]></title><link>https://blog.youkuaiyun.com/younger_showtime/article/details/117188457</link><guid>https://blog.youkuaiyun.com/younger_showtime/article/details/117188457</guid><author>younger_showtime</author><pubDate>Sun, 23 May 2021 10:18:22 +0800</pubDate><description><![CDATA[外部中断控制LED灯开关
【1】启动后，D4灯循环闪烁，其他三个LED灯熄灭。（其实就是在模拟主程序的执行过程）
【2】SW1按键,即P1_2引脚外部中断设置为下降沿触发。
【3】设计中断服务函数，外部中断响应后，将D5灯的开关状态翻转。（在主程序的执行过程中进行一个中断）
#include"ioCC2530.h" //引入头文件之后才能使用其中定义的一些寄存器的名称
#define D3 P1_0
#define D4 P1_1
#define D5 P1_3
#define D6 P1_4
#defin]]></description><category></category></item><item><title><![CDATA[五、CC2530的中断]]></title><link>https://blog.youkuaiyun.com/younger_showtime/article/details/117188431</link><guid>https://blog.youkuaiyun.com/younger_showtime/article/details/117188431</guid><author>younger_showtime</author><pubDate>Sun, 23 May 2021 10:17:45 +0800</pubDate><description><![CDATA[1. CC2530的中断
在执行CPU当前程序时，由于系统中出现了某种急需处理的情况，CPU暂停正在执行的程序，转而去执行另外一段特殊程序来处理出现的紧急事务，处理结束后，CPU自动返回到原来暂停的程序中去继续执行。这种程序在执行过程中由于外界的原因而被中间打断的情况，称为中断。




中断号
中断名称
中断描述
icCC2530.h中的宏定义




0
RFERR
RF发送完成或接收完成
#define RFERR_VECTOR VECT


1
ADC
ADC转换结束
#define ADC_VEC]]></description><category></category></item><item><title><![CDATA[四、 按键控制流水灯的运行与暂停]]></title><link>https://blog.youkuaiyun.com/younger_showtime/article/details/117188413</link><guid>https://blog.youkuaiyun.com/younger_showtime/article/details/117188413</guid><author>younger_showtime</author><pubDate>Sun, 23 May 2021 10:17:12 +0800</pubDate><description><![CDATA[按键控制流水灯的运行与暂停
项目要求：
【1】程序开始时，4个LED灯全亮一会，然后，再全灭一会，开始进入跑马灯。  【2】跑马灯过程为:D4灯亮，其余熄灭，延时，D3灯亮，其余熄灭，延时，D6灯亮,		 其余熄灭，延时，D5灯亮,其余熄灭，延时…如此反复。
【3】按下SW1按键松开后，跑马灯暂停保留当前状态;再一次SW1按键松开后，从当前状态保留处继续运行跑马灯，在按下SW1按键时，不能打断流水灯的运行。
#include"ioCC2530.h" //引入头文件之后才能使用其中定义的一些寄存器的名称
#d]]></description><category></category></item><item><title><![CDATA[三、按键]]></title><link>https://blog.youkuaiyun.com/younger_showtime/article/details/117188369</link><guid>https://blog.youkuaiyun.com/younger_showtime/article/details/117188369</guid><author>younger_showtime</author><pubDate>Sun, 23 May 2021 10:16:49 +0800</pubDate><description><![CDATA[按键
#include"ioCC2530.h" //引入头文件之后才能使用其中定义的一些寄存器的名称
#define D3 P1_0
#define D4 P1_1
#define D5 P1_3
#define D6 P1_4
#define SW0 P0_1
#define SW1 P1_2
void delay(unsigned int t)
{
    while(t--);
}
void Init_Port() //端口初始化函数。
{                //配置LED引脚
   P1]]></description><category></category></item><item><title><![CDATA[二、流水灯]]></title><link>https://blog.youkuaiyun.com/younger_showtime/article/details/117188324</link><guid>https://blog.youkuaiyun.com/younger_showtime/article/details/117188324</guid><author>younger_showtime</author><pubDate>Sun, 23 May 2021 10:15:22 +0800</pubDate><description><![CDATA[流水灯程序
#include"iocc2530.h" //引入头文件之后才能使用其中定义的一些寄存器的名称
#define D3 P1_0
#define D4 P1_1
#define D5 P1_3
#define D6 P1_4
void delay(unsigned int t)
{
    while(t--);
}
void Init_Port() //端口初始化函数。
{
   P1SEL&amp;=~0X1B;//0001 1011。选择端口的功能，将其设为通用I/O端口，则将相应的位清0
]]></description><category></category></item><item><title><![CDATA[一、CC2530简介]]></title><link>https://blog.youkuaiyun.com/younger_showtime/article/details/117188138</link><guid>https://blog.youkuaiyun.com/younger_showtime/article/details/117188138</guid><author>younger_showtime</author><pubDate>Sun, 23 May 2021 10:12:28 +0800</pubDate><description><![CDATA[寄存器快速操作
其实可以直接赋值，相对好理解，但是熟练之后还是这个方法比较快。
一、只将寄存器中的某些位置1而不影响其它位
使用或操作  “|” 。
任何值与0相或，保持原值。
任何值与1相或，结果为1.
例如：寄存器TMP的当前值为0X62，要将第2、3、6位置1。C语言表达式：TMP|=0X4C。
0X62:0110 0010
0X4C:0100 1100
TMP= 0110 1110
那么这个0X4C的值如何快速得到的？
先假设寄存器所有位的值都是0，如TMP=0000 0000。再将要操作的位置全部]]></description><category></category></item><item><title><![CDATA[差分专题]]></title><link>https://blog.youkuaiyun.com/younger_showtime/article/details/116403050</link><guid>https://blog.youkuaiyun.com/younger_showtime/article/details/116403050</guid><author>younger_showtime</author><pubDate>Tue, 04 May 2021 18:02:53 +0800</pubDate><description><![CDATA[差分简述
​     在高速数字电路中常用两根线去传递一个信号。在PCB中常被叫做阻抗对，差分对，或者差分阻抗对。他们本身是两个信号（两个信号等值反相），这两根线要保持很好的阻抗，间距、线宽和长度经过很好的计算。

​	——来自B站UP主：圈圈BG3MDO  。视频地址(点击即可进入)
差分优势


抗干扰能力强，因为两根差分走线之间的耦合很好。当外界存在噪声干扰时，几乎是同时被耦合到两条线上，而接收端关心的只是两信号的差值。所以外界的共模噪声可以被完全抵消。


能有效印制EMI，同样的道理，由于两根信号]]></description><category></category></item><item><title><![CDATA[去除一些不常用的DRC]]></title><link>https://blog.youkuaiyun.com/younger_showtime/article/details/116225911</link><guid>https://blog.youkuaiyun.com/younger_showtime/article/details/116225911</guid><author>younger_showtime</author><pubDate>Wed, 28 Apr 2021 09:41:25 +0800</pubDate><description><![CDATA[去除一些不常见的DRC ，只会影响丝印什么的 ，不会影响电气属性。
TD呼出设计规则检查器

只打开开短路和间距的规则：




]]></description><category></category></item><item><title><![CDATA[从BGA焊盘中间出线方法]]></title><link>https://blog.youkuaiyun.com/younger_showtime/article/details/116225598</link><guid>https://blog.youkuaiyun.com/younger_showtime/article/details/116225598</guid><author>younger_showtime</author><pubDate>Wed, 28 Apr 2021 09:35:53 +0800</pubDate><description><![CDATA[1.先测量一下要出线的两个焊盘的距离，并且EOS设置原点。
2.放置辅助过孔

再删去辅助的过孔。完成了从两焊盘中间出线。

]]></description><category></category></item><item><title><![CDATA[MarkDown_Typora]]></title><link>https://blog.youkuaiyun.com/younger_showtime/article/details/115799242</link><guid>https://blog.youkuaiyun.com/younger_showtime/article/details/115799242</guid><author>younger_showtime</author><pubDate>Sat, 17 Apr 2021 18:15:24 +0800</pubDate><description><![CDATA[目录
语法 :    [TOC/toc] +回车。
文章目录目录标题写法在此写一级标题（#+空格+内容）在此写二级标题（#+空格+内容）字体有序列表无序列表任务列表分割线链接脚注锚点表格 （快捷键 Ctrl+T）行内代码代码块引用图片流程图
标题写法
在此写一级标题（#+空格+内容）
在此写二级标题（#+空格+内容）
以此类推，最多到六级标题。。。。。
字体
加粗、斜体、下划线直接在Typora的菜单栏→格式里面直接使用。
高亮：  ==高亮的内容==       高亮的内容
下标语法：~下标的内容~   ]]></description><category></category></item></channel></rss>