低功耗蓝牙BLE CC2541串口通信
【本文属原创】
对于单片机开发者来说,不管学习使用哪款MCU,串口都是最好的调试工具。 使用工具:USB转TTL串口和CC Debugger仿真器。 使用UART0收发送数据接线: USB转TTL串口 BLE CC2541最小模块 GND接GND RXD接P0_3(TX引脚) TXD接P0_2(RX引脚) 3.3V接VCC。 串口初始化函数:
/****************************************************************************
名 称: InitUart()
功 能: 串口初始化函数
入口参数: 无
出口参数: 无
****************************************************************************/
void InitUart(void)
{
PERCFG = 0x00; //位置1 P0口
P2DIR &= ~0xc0; //USART0 优先级最高
P0SEL = 0x3c; //P0_2,P0_3,P0_4,P0_5用作串口
U0CSR |= 0x80; //配置当前为UART,非SPI
U0GCR |= 8;
U0BAUD |= 59; //波特率为9600
UTX0IF = 0; //位寄存器,直接操作,清除中断标志
U0CSR |= 0X40; //允许接收数据
IEN0 |= 0x84; //打开接收中断
}
系统时钟初始化函数:
/****************************************************************************
名 称: System_Clock()
功 能: 系统时钟函数
入口参数: 无
出口参数: 无
****************************************************************************/
void System_Clock(void)
{
CLKCONCMD &= ~0x40; //设置系统时钟源为32MHZ晶振
while(CLKCONSTA & 0x40); //等待晶振稳定
CLKCONCMD &= ~0x47; //设置系统主时钟频率为32MHZ
}
串口发送字符串函数:
#if 1
/****************************************************************************
名 称: Uart_Send_String()
功 能: 串口发送字符串函数
入口参数: Data:发送缓冲区 length:发送长度
出口参数: 无
****************************************************************************/
void Uart_Send_String(char *Data, uint16 length)
{
uint16 i;
for(i=0; i<length; i++)
{
U0DBUF = *Data++;
while(UTX0IF == 0);
UTX0IF = 0;
}
}
#endif
串口发送函数:
/****************************************************************************
名 称: Uart_Send_Data()
功 能: 串口发送数据函数
入口参数: Data:发送数据
出口参数: 无
****************************************************************************/
void Uart_Send_Data(char Data)
{
U0DBUF = Data;
while(UTX0IF == 0);
UTX0IF = 0;
}
中断服务函数:
/****************************************************************************
名 称: UART0_ISR(void) 串口中断处理函数
描 述: 产生接收中断
入口参数: 无
出口参数: 无
****************************************************************************/
#pragma vector = URX0_VECTOR
__interrupt void UART0_ISR(void)
{
char Receive_Data=0;
Receive_Data = U0DBUF;
Uart_Send_Data(Receive_Data); //收到数据后立即发送出去
}
/****************************************************************************
名 称: main
描 述: 主函数
入口参数: 无
出口参数: 无
****************************************************************************/
void main(void)
{
System_Clock(); //系统时钟配置
InitUart(); //调置串口相关寄存器
while(1);
}
头文件部分:
#include <ioCC2541.h>
#include<string.h>
#include"header.h"
#ifndef HEADER_H
#define HEADER_H
typedef unsigned short int uint16;
typedef unsigned char uint8;
void InitUart(void);
void System_Clock(void);
void Uart_Send_String(char *Data, uint16 length);
void Uart_Send_Data(char Data);
#endif
美拆机华为,也未必学到!卫星通话用天通一号,为什么不连北斗?
在全球科技舞台上,中国的华为公司再次掀起了一场革命。这场革命的主角是他们最新推出的智能手机——华为Mate 60 Pro系列,这也是世界上首款支持卫星通话的手机。
这款手机一经亮相,立刻引发了广泛的热议和好奇。无数人心愿花费重金,只为亲眼目睹这款引领科技潮流的手机,这也导致了国内外的各种关于华为手机内部构造的猜测和研究。
然而,对于一般人来说,手机内部构造可能仍然是一团迷雾,晦涩难懂。但对于那些了解技术的人来说,华为Mate 60 Pro系列却是一个革命性的突破,尤其是在通信技术领域。
那么,华为为何选择不连接中国北斗卫星系统,而是建立了自己独立的卫星通信系统呢?首先,要了解华为卫星通话的核心技术。
华为的卫星通话主要依赖于“天通一号”卫星系统,这个卫星系统由中国空间技术研究院研制,包括1、2、3颗卫星。它采用了一系列创新技术,包括新塑天线和单机集成技术,使卫星的性能达到了前所未有的水平。
在华为发布Mate 60系列之前,市场上并没有一款大众化的卫星通话手机,而要支持卫星通话,通常需要较大且不方便携带的高功率天线等设备。华为的突破在于,他们采用了专用卫星电话卡,使手机可以直接与卫星连接,从而实现了卫星通话功能。这一技术的独特性使得即使美国也无法轻松拆解,因为这些技术是中国自主研发的。
华为的卫星通话手机并没有限制用户,他们提供了双向选择的机会,支持天通卫星电话和双向北斗卫星消息。这种双模式设计让用户根据自己的需求自由选择,无需担心资金问题,因为卫星通话主要用于户外应急和旅游探险等领域,而日常通信覆盖已经非常完善。
美国尝试拆解华为手机后,得出的结论是手机芯片和技术都是中国自主研发的,这再次证明了华为的技术实力。华为的技术积累和创新能力是竞争对手无法轻易迎头赶上的。未来,随着市场的不断扩大,卫星通话手机将会逐渐普及,但核心技术的保护仍然是至关重要的。
相关问答
通信工程专业的个人简历求职意向怎么写-自带阳光小仙女的...
面试不同的公司求职意向是要变的呀,测试工程师,软件工程师,运维工程师。。。等等有些公司会直接说招什么,写上就可以了。如果自己有特别想做的方面,...
求一篇人物通讯作文,要求写身边亲近的平凡人_作业帮
[最佳回答]一束真正美丽值得赞赏的阳光,都是经历过风雨的.它为了让自己能给世界带来希望和温暖,它和无情的风雨再三的搏斗,在搏斗当中往往也会受伤.但它坚持不...
无线电波的传播方式有那些?_作业帮
[回答]通常,无线电波有三种传播方式:地波、天波和沿直线传播的波.地波沿地球表面附近的空间传播的无线电波叫地波.地面上有高低不平的山坡和房屋等障物,根...
崩溃大陆通讯器怎么放?
1.崩溃大陆通讯器可以放在任何方便携带的地方。2.这是因为崩溃大陆通讯器通常是小巧轻便的设备,可以放在口袋、背包或者手提包中,方便携带和使用。3.此外,...
矩阵和监控电视墙用什么线连接
2020-03-283382191最新回答电视一般都是用视频线,找SYV75-5的视频线试试蛋蛋love祺祺1天前扩展回答1监控电视墙矩阵方案哪位手上有(VGA共享器矩阵如.....
青海失联女孩是先结束生命,还是先被动物攻击?
可可西里也是野生动物的天堂,黄某某一个人住在可可西里,有很大的概率是先被冻死,然后被这里的野兽吃了。黄某某独自一个人前往可可西里,在7月7日早上和朋友...
储能有哪些ETF基金代码?-基金知识问答-我爱卡
[回答]ETF基金有以下几种:1、科陆电基:基金代码为002121,科陆成立于1996年,2007年在深圳证券交易所上市。2、南都电源:基金代码为300068,从事通信...2、...
有什么舍己救人的电影可以推荐吗?
江山等人冲进了发生事故的现场,奋勇地救出了被困在其中的人们。然而,当他们找到一个在现场被困的孩子时,他们宁愿自己受伤也要保护好那个被困的孩子。这个事...
北京阳光鸿志电气工程技术有限公司怎么样?..._电气工程师_帮考网
北京阳光鸿志电气工程技术有限公司是1998-04-01在北京市大兴区注册成立的有限责任公司(自然人投资或控股),注册地址位于北京市大兴区经济开发区科苑...
接连几天报道的杀妻案,看的人心惊胆战,人不结婚不行吗?
真的,是女人都有这种惊悚。我不止一次当着老公谈起这个案件。想听听听他的意见。他说:放心,我不会!我说:说不定那天发了神经!尽管,我知道他不会。可是,...家是...