CC2530 USART0收发通信,串口调试助手出现乱码,求帮助
串口收发程序
描述:在串口调试助手上可以看到不停地
收到 CC2530 发过来的从串口助手发送过去的数据
波特率:115200bps
**************************************/
#include <ioCC2530.h>
#include <string.h>
#include <stdio.h>
#define uint unsigned int
#define uchar unsigned char
uchar RXTXflag = 0; //接收发送状态标志,0表示接收,1表示发送
uchar temp = 0; //表示每个要发送的数据
uint datanumber = 0; //表示数据的个数
uchar Rxdata[50]; //存放收到数据空间
//定义 LED 的端口,低电平有效
#define LED1 P1_0 //D2 黄灯
#define LED2 P1_1 //D1 蓝灯
//函数声明
void Delay_ms(uint);
void InitUART(void);
void UartSend_String(char *Data,int len);
void Usart_Send_Byte(uchar a);
/****************************************************************
延时函数
****************************************************************/
void Delay_ms(uint n)
{
uint i,j;
for(i = 0; i < n; i++)
{
for(j = 0;j < 1774; j++);
}
}
/***************************************************************
*LED指示灯初始化函数
***************************************************************/
void IO_Init()
{
P1DIR = 0x03; //P1_0IO 方向输出
LED1 = 1; //关 LED1,LED1表示接收状态
LED2 = 1; //关 LED2,LED2表示发送状态
}
/****************************************************************
串口初始化函数
****************************************************************/
void InitUART(void)
{
PERCFG = 0x00; //位置1 P0 口 /* Peripheral I/O Control */
P0SEL = 0x0c; //P0_2,P0_3 用作串口(外部设备功能) /* Port 0 Function Select
P2DIR &= ~0xc0; //P0口 优先作为 UART0
U0CSR |= 0x80; //设置为 UART 方式
U0GCR |= 11;
U0BAUD |= 216; //波特率设为 115200
UTX0IF = 0; //UART0 TX 中断标志初始置位 0
URX0IF = 0; //UART0 RX 中断标志初始置位 0
U0CSR |= 0X40; //允许串口0接收
IEN0 |= 0x84; // 开总中断和USART0接收中断使能
}
/****************************************************************
串口发送字符串函数
****************************************************************/
void UartSend_String(char *Data,int len)
{
int j;
for(j = 0; j < len; j++)
{
U0DBUF = *Data++;
while( 0 == UTX0IF );
UTX0IF = 0;
}
}
void Usart_Send_Byte(uchar a)
{
U0DBUF = a;
while(UTX0IF == 0);
UTX0IF = 0;
}
/***************************************************************
*中断处理函数
****************************************************************/
#pragma vector = URX0_VECTOR
__interrupt void UART0_ISR(void)
{
URX0IF = 0; // 清中断标志
temp = U0DBUF; //temp指向接收的数据
}
/****************************************************************
主函数
****************************************************************/
void main(void)
{
CLKCONCMD &= ~0x40; //设置系统时钟源为 32MHZ 晶振
while(CLKCONSTA & 0x40); //等待晶振稳定为 32M
CLKCONCMD &= ~0x47; //设置系统主时钟频率为 32MHZ
IO_Init();
InitUART();
Delay_ms(500);
UartSend_String("send test.",sizeof("send test."));
while(1)
{
if( 0 == RXTXflag) //接收状态
{
LED1=0; //接收状态指示
Delay_ms(500);
if(temp != 0)
{
if((temp != '#')&&(datanumber < 50)) //'#'被定义为结束字符,最多能接收50个字符
{
Rxdata[datanumber++] = temp;
}
else
{
RXTXflag = 1; //进入发送状态
LED1 = 1; //关指示灯
}
temp = 0;
}
}
if( 1 == RXTXflag) //发送状态
{
LED2 = 0;
Delay_ms(500);
U0CSR &= ~0x40; //禁止接收
UartSend_String(Rxdata,datanumber); //发送已记录的字符串。
U0CSR |= 0x40; //允许接收
RXTXflag = 0; // 恢复到接收状态
datanumber = 0; //指针归0
LED2 = 1; //关发送指示
}
}
}
相关推荐
stm32单片机项目资料课程设计文档C语言程序代码原理图电路PCB实例无线数据收发系统毕业论文资料
stm32单片机项目资料课程设计文档C语言程序代码原理图电路PCB实例无线数据收发系统毕业论文资料
弱电网下光伏并网逆变器序阻抗建模仿真复现扫频法【序阻抗判断稳定性】
内容概要:本文聚焦于弱电网条件下光伏并网逆变器的序阻抗建模与稳定性分析,系统阐述了基于扫频法的阻抗特性仿真与复现方法。通过构建正负序阻抗模型,深入剖析逆变器在弱电网环境中的动态响应特性,结合锁相环、电流环等关键控制环节对系统阻抗的影响机制,采用序阻抗稳定性判据评估多机并网或复杂电网条件下的系统稳定裕度。研究在Simulink平台中实现激励信号注入、频率响应采集与阻抗曲线绘制,为高比例新能源接入背景下并网系统的稳定性分析提供了可靠的仿真手段与理论支撑,尤其适用于SCI级别论文成果的复现与拓展验证。; 适合人群:电力电子、新能源并网技术及相关领域的硕士/博士研究生、科研人员,以及从事光伏逆变器、微电网稳定控制开发的工程技术人员。; 使用场景及目标:①掌握扫频法在电力电子装置阻抗建模中的具体实施流程;②理解并应用基于序阻抗的稳定性判据进行系统稳定边界分析;③用于高水平学术论文(如SCI期刊)中阻抗建模与稳定性分析部分的仿真复现与方法验证; 阅读建议:建议读者结合文中所述方法与提供的参考文献,自主搭建Simulink仿真模型,逐步完成扰动信号设计、数据采集、傅里叶分析及阻抗拟合全过程,深入探究控制参数变化对系统阻抗特性和稳定性的具体影响,强化理论与实践的融合能力。
三相并网逆变器虚拟阻抗+统一有源阻尼策略SVPWM+SPWM调制仿真
内容概要:本文档系统性地介绍了三相并网逆变器的核心控制技术及其在复杂电网环境下的仿真应用,重点涵盖虚拟阻抗与统一有源阻尼策略在SVPWM和SPWM调制方式下的实现方法,旨在提升逆变器的稳定性与电能质量。内容包括无功功率扰动孤岛检测、中点电位平衡控制、低电压穿越(LVRT)、模型预测控制(MPC)、正负序分离、电网前馈控制等关键技术,并扩展至风储联合调频、微电网下垂控制、虚拟同步发电机(VSG)、构网型逆变器等多种典型电力系统应用场景。所有技术均配有基于Simulink/Matlab平台的完整仿真模型、参考文献及说明文档,强调理论分析与仿真实践的深度融合,突出科研中“借力”与创新思维的重要性。; 适合人群:电气工程、自动化、新能源等相关专业的研究生、科研人员及从事电力电子与可再生能源系统开发的工程师;具备MATLAB/Simulink仿真基础和电力系统专业知识的技术人员。; 使用场景及目标:①开展三相并网逆变器控制策略的研究与优化设计;②复现高水平学术论文中的控制算法;③完成毕业课题、科研项目或工程仿真验证;④掌握虚拟阻抗、有源阻尼、SVPWM/SPWM调制、MPC、VSG等核心技术的建模与实现方法;⑤支撑微电网、构网型变流器等前沿方向的科研攻关。; 阅读建议:建议按照资源目录结构化学习,优先选择与自身研究方向契合的内容模块,结合提供的仿真模型、参考文献和说明材料进行实操演练,注重从理论推导到仿真实现的全过程理解,充分利用共享网盘资源深化技术掌握,提升科研效率与创新能力。
chromedriver-win32-159.0.8133.0(Canary).zip
chromedriver-win32-159.0.8133.0(Canary).zip
计算机“101计划”《人工智能引论》教学大纲+课件+实训案例
计算机“101计划”《人工智能引论》教学大纲+课件+实训案例


单片机/工控
