电子发烧友网 > 可编程逻辑 > HDL语言及源代码 > 正文

CC2530串口驱动

2017年11月08日 17:15 次阅读

  无论学习哪款MUC串口对于我们进行实验调试都是非常方便实用的,可以把程序中涉及的某些中间量或者其他程序状态信息打印出来显示在电脑上进行调试,许多MUC和PC机通信都是通过串口来进行的。

  CC2530有两个USB转串口,分别是USART0和USART1。USART0和USART1是串行通信接口,它们能够分别运行于异步UART模式或者同步SPI模式。两个USART具体同样的功能,可以设置在单独的I/O引脚。

  /*************************************************************************************************************

  * 文件名: uart.c

  * 功能: CC2530 串口相关函数

  * 详细: 串口相关函数

  串口最大时钟为系统时钟的1/16

  *************************************************************************************************************/

  #include “system.h”

  #include “uart.h”

  //相关UART状态结构

  typedef struct

  {

  u8 BuffFull; //接收Buff满

  u8 *RxBuff; //接收Buff指针

  u16 RxBuffSize; //接收缓冲区大小,一帧数据大小

  u16 UartRxCnt; //接收数据计数器

  } UartRx_TypeDef;

  staTIc UartRx_TypeDef UART_RX[2];

  staTIc const u8 BAUD_M[11] = {59, 59, 59, 216, 59, 216, 59, 216, 59, 216, 216}; //32MHZ系统时钟对应的分频器小数部分

  staTIc const u8 BAUD_E[11] = {6, 7 ,8, 8, 9, 9, 10, 10, 11, 11, 12}; //32MHZ系统时钟对应的分频器指数部分

  /*************************************************************************************************************************

  *函数 : void UART_Init(UART_CH ch, USART_BAUD Baud, FuncTIonalState RxIntEn)

  *功能 : 串口初始化

  *参数 : ch:通道选择,UART_CH0,UART_CH1

  Baud:波特率控制,见USART_BAUD

  RxIntEn:ENABLE:使能串口接收中断

  *返回 : 无

  *依赖 : 底层宏定义

  *说明 : 一个起始位,8个数据位,一个停止位,无奇偶校验

  需要开启全局中断

  *************************************************************************************************************************/

  void UART_Init(UART_CH ch, USART_BAUD Baud, FunctionalState RxIntEn)

  {

  switch(ch)

  {

  case UART_CH0:

  {

  U0CSR = BIT7 + BIT6; //UART模式,使能接收

  U0UCR = BIT1; //无流控,无奇偶校验,8bit,1个停止位,停止位高电平,起始低电平

  U0GCR = BAUD_E[Baud]; //波特率分频器指数部分

  U0BAUD = BAUD_M[Baud]; //波特率分频器小数部分

  P0SEL |= BIT2 + BIT3; //P0.3 TXD,P0.2 RXD

  IEN2 &= ~(1 《《 3); //关闭发送中断

  URX0IF = 0; //清除串口接收中断标志

  UTX0IF = 0; //清除串口发送中断标志

  URX0IE = (RxIntEn == ENABLE) ? 1 : 0; //使能串口接收中断

  }break;

  case UART_CH1:

  {

  U1CSR = BIT7 + BIT6; //UART模式,使能接收

  U1UCR = BIT1; //无流控,无奇偶校验,8bit,1个停止位,停止位高电平,起始低电平

  U1GCR = BAUD_E[Baud]; //波特率分频器指数部分

  U1BAUD = BAUD_M[Baud]; //波特率分频器小数部分

  P1SEL |= BIT4 + BIT5; //P0.5 TXD,P0.4 RXD

  URX1IF = 0; //清除串口接收中断标志

  UTX1IF = 0; //清除串口发送中断标志

  URX1IE = (RxIntEn == ENABLE) ? 1 : 0; //使能串口接收中断

  }break;

  default : return;

  }

  UART_SetRxBuff(ch, NULL, 0); //初始化串口缓冲区无效

  }

  /*************************************************************************************************************************

  *函数 : void UART_SendByte(UART_CH ch, u8 data)

  *功能 : UART字节发送函数

  *参数 : ch:通道选择,UART_CH0,UART_CH1

  data:需要发送的数据

  *返回 : 无

  *依赖 : 底层宏定义

  *说明 : 无

  *************************************************************************************************************************/

  void UART_SendByte(UART_CH ch, u8 data)

  {

  switch(ch)

  {

  case UART_CH0:

  {

  U0DBUF = data; //发送字节数据

  while(!(U0CSR & BIT1)); //等待发送数据寄存器为空

  U0CSR &= ~BIT1;

  }break;

  case UART_CH1:

  {

  U1DBUF = data; //发送字节数据

  while(!(U1CSR & BIT1)); //等待发送数据寄存器为空

  U1CSR &= ~BIT1;

  }break;

  default : break;

  }

  }

  /*************************************************************************************************************************

  *函数 : void UART2_SendData(u8 *pbuff, u16 len)

  *功能 : 串口发送任意长度数据

  *参数 : ch:通道选择,UART_CH0,UART_CH1

  pbuff:数据缓冲区指针,len:数据长度

  *返回 : 无

  *依赖 : 底层宏定义

  *说明 : 无

  *************************************************************************************************************************/

  void UART_SendData(UART_CH ch, u8 *pbuff, u16 len)

  {

  u16 i;

  switch(ch)

  {

  case UART_CH0:

  {

  for(i = 0;i 《 len;i ++)

  {

  U0DBUF = pbuff[i]; //发送字节数据

  while(!(U0CSR & BIT1)); //等待发送数据寄存器为空

  U0CSR &= ~BIT1;

  }

  }break;

  case UART_CH1:

  {

  for(i = 0;i 《 len;i ++)

  {

  U1DBUF = pbuff[i]; //发送字节数据

  while(!(U1CSR & BIT1)); //等待发送数据寄存器为空

  U1CSR &= ~BIT1;

  }

  }break;

  default : break;

  }

  }

  /*************************************************************************************************************************

  * 函数 : void UART2_SendString(UART_CH ch, const char *pStr)

  * 功能 : UART发送字符串

  * 参数 : ch:通道选择,UART_CH0,UART_CH1

  pStr:字符串指针

  * 返回 : 无

  * 依赖 : 底层宏定义

  * 说明 : 遇到‘0\’后停止发送

  *************************************************************************************************************************/

  void UART_SendString(UART_CH ch, const char *pStr)

  {

  while(*pStr != ‘\0’)

  {

  UART_SendByte(ch, *pStr ++);

  }

  }

  /*************************************************************************************************************************

  * 函数 : void UART_RxEnable(UART_CH ch, FunctionalState Enable)

  * 功能 : UART接收使能

  * 参数 : ch:通道选择,UART_CH0,UART_CH1

  Enable:ENABLE:使能接收,DISABLE:取消接收

  * 返回 : 无

  * 依赖 : 底层宏定义

  * 说明 : 无

  *************************************************************************************************************************/

  void UART_RxEnable(UART_CH ch, FunctionalState Enable)

  {

  switch(ch)

  {

  case UART_CH0:

  {

  U0CSR = (Enable == ENABLE) ? (U0CSR|BIT6) : (U0CSR&(~BIT6)); //使能接收

  }break;

  case UART_CH1:

  {

  U1CSR = (Enable == ENABLE) ? (U1CSR|BIT6) : (U1CSR&(~BIT6)); //使能接收

  }break;

  default : break;

  }

  }

  //UART0中断服务程序

  #pragma vector=URX0_VECTOR

  __interrupt void UART0_IRQHandler(void)

  {

  if(UART_RX[0].RxBuffSize 》 0)

  {

  UART_RX[0].RxBuff[UART_RX[0].UartRxCnt ++] = U0DBUF;

  if(UART_RX[0].UartRxCnt == UART_RX[0].RxBuffSize)

  {

  UART_RX[0].UartRxCnt = 0;

  UART_RX[0].BuffFull = 1;

  }

  }

  else

  {

  URX0IF = 0; //清除串口接收中断标志

  }

  }

  //UART1中断服务程序

  #pragma vector=URX1_VECTOR

  __interrupt void UART1_IRQHandler(void)

  {

  if(UART_RX[1].RxBuffSize 》 0)

  {

  UART_RX[1].RxBuff[UART_RX[1].UartRxCnt ++] = U1DBUF;

  if(UART_RX[1].UartRxCnt == UART_RX[1].RxBuffSize)

  {

  UART_RX[1].UartRxCnt = 0;

  UART_RX[1].BuffFull = 1;

  }

  }

  else

  {

  URX1IF = 0; //清除串口接收中断标志

  }

  }

  /*************************************************************************************************************************

  * 函数 : bool UART_GetNewData(UART_CH ch, u8 *pData)

  * 功能 : 获取串口新数据

  * 参数 : ch:通道选择,UART_CH0,UART_CH1

  pData:数据缓冲区指针

  * 返回 : TRUE:有新数据,FALSE:无新数据

  * 依赖 : 底层宏定义

  * 说明 : 用于非中断模式下获取串口新数据

  *************************************************************************************************************************/

  bool UART_GetNewData(UART_CH ch, u8 *pData)

  {

  switch(ch)

  {

  case UART_CH0:

  {

  if(U0CSR & BIT2)

  {

  *pData = U0DBUF;

  return TRUE;

  }

  return FALSE;

  }break;

  case UART_CH1:

  {

  if(U1CSR & BIT2)

  {

  *pData = U1DBUF;

  return TRUE;

  }

  return FALSE;

  }break;

  default : return FALSE;

  }

  }

  /*************************************************************************************************************************

  * 函数 : bool UART_GetRxBuffFullFlag(UART_CH ch)

  * 功能 : 获取串口接收缓冲区满标志

  * 参数 : ch:通道选择,UART_CH0,UART_CH1

  * 返回 : TRUE:满,FALSE:没有满

  * 依赖 : 底层宏定义

  * 说明 : 用于判断接收缓冲区是否满,会清除标志

  *************************************************************************************************************************/

  bool UART_GetRxBuffFullFlag(UART_CH ch)

  {

  if(UART_RX[ch].BuffFull) //缓冲区已满

  {

  UART_RX[ch].BuffFull = 0; //清除满标志

  return TRUE;

  }

  return FALSE;

  }

  /*************************************************************************************************************************

  * 函数 : void UART_SetRxBuff(UART_CH ch, u8 *pRxBuff, u16 BuffSize)

  * 功能 : 设置串口接收缓冲区

  * 参数 : ch:通道选择,UART_CH0,UART_CH1

  pRxBuff:缓冲区指针,BuffSize:缓冲区大小

  * 返回 : 无

  * 依赖 : 底层宏定义

  * 说明 : 用于中断接收

  *************************************************************************************************************************/

  void UART_SetRxBuff(UART_CH ch, u8 *pRxBuff, u16 BuffSize)

  {

  UART_RX[ch].RxBuffSize = BuffSize; //设置缓冲区大小

  UART_RX[ch].RxBuff = pRxBuff; //设置缓冲区指针

  UART_RX[ch].UartRxCnt = 0; //计数器清零

  }

  /*************************************************************************************************************************

  * 函数 : u16 UART_GetRxCnt(UART_CH ch)

  * 功能 : 获取串口接收数据计数器

  * 参数 : ch:通道选择,UART_CH0,UART_CH1

  * 返回 : 接收到的数据数量

  * 依赖 : 底层宏定义

  * 说明 : 无

  *************************************************************************************************************************/

  u16 UART_GetRxCnt(UART_CH ch)

  {

  return UART_RX[ch].UartRxCnt; //返回计数值

  }

  /*************************************************************************************************************************

  * 函数 : void UART_ClearRxCnt(UART_CH ch)

  * 功能 : 清除串口接收数据计数器

  * 参数 : ch:通道选择,UART_CH0,UART_CH1

  * 返回 : 无

  * 依赖 : 底层宏定义

  * 说明 : 无

  *************************************************************************************************************************/

  void UART_ClearRxCnt(UART_CH ch)

  {

  UART_RX[ch].UartRxCnt = 0; //计数器清零

  }

  uart.h

  [cpp] view plain copy/*************************************************************************************************************

  * 文件名: uart.h

  * 功能: CC2530 串口相关函数

  * 详细: 串口相关函数

  *************************************************************************************************************/

  #ifndef _UART_H_

  #define _UART_H_

  #include “system.h”

  #include “stdio.h”

  //串口波特率定义

  typedef enum

  {

  BAUD_2400 = 0, //2400

  BAUD_4800 = 1, //4800

  BAUD_9600 = 2, //9600

  BAUD_14400 = 3, //14400

  BAUD_19200 = 4, //19200

  BAUD_28800 = 5, //28800

  BAUD_38400 = 6, //38400

  BAUD_57600 = 7, //57600

  BAUD_76800 = 8, //76800

  BAUD_115200 = 9, //115200

  BAUD_230400 = 10, //230400

  } USART_BAUD;

  //串口通道选择

  typedef enum

  {

  UART_CH0 = 0, //通道0,串口0

  UART_CH1 = 1, //通道1,串口1

  } UART_CH;

  //UAR

  void UART_Init(UART_CH ch, USART_BAUD Baud, FunctionalState RxIntEn); //UART初始化

  void UART_SendByte(UART_CH ch, u8 data);

  void UART_SendData(UART_CH ch, u8 *pbuff, u16 len); //串口发送任意长度数据

  void UART_SendString(UART_CH ch, const char *pStr); //UART发送字符串

  void UART_RxEnable(UART_CH ch, FunctionalState Enable); //UART接收使能

  bool UART_GetNewData(UART_CH ch, u8 *pData); //获取串口新数据

  bool UART_GetRxBuffFullFlag(UART_CH ch); //获取串口接收缓冲区满标志

  void UART_SetRxBuff(UART_CH ch, u8 *pRxBuff, u16 BuffSize); //设置串口接收缓冲区

  u16 UART_GetRxCnt(UART_CH ch); //获取串口接收数据计数器

  void UART_ClearRxCnt(UART_CH ch); //清除串口接收数据计数器

  #endif //_UART_H_

  //重定义printf到串口

  [cpp] view plain copy#if _PRINTF_EN_

  #include “uart.h”

  #include “stdio.h”

  //#define __CODE_MODEL__ = __CM_BANKED__

  __near_func int putchar(int ch)

  {

  UART_SendByte(UART_CH0, ch);

  return ch;

  }

  #endif

  初始化

  [cpp] view plain copy//主函数

  int main(void)

  {

  SYS_ClockInit();

  UART_Init(UART_CH0, BAUD_115200,ENABLE);

  LED_Init();

  clock_init();

  SYS_EnableInt();

  process_init();

  process_start(&etimer_process, NULL);

  autostart_start(autostart_processes);

  printf(“Processes running\n”);

  while(1)

  {

  do

  {

  } while(process_run()》 0);

  SYS_PowerIdle(); //空闲模式

  }

  }

技术专区

关注电子发烧友微信

有趣有料的资讯及技术干货

下载发烧友APP

打造属于您的人脉电子圈

关注发烧友课堂

锁定最新课程活动及技术直播
收藏 人收藏
分享:

评论

相关推荐

USB2.0和USB3.0区别是什么详解!

2002年推出了更新的规范USB 2.0,也称为高速 USB 2.0。它将PC至USB设备的数据传输...

发表于 2018-04-03 10:45 43次阅读
USB2.0和USB3.0区别是什么详解!

【下载】《2018.03.27第二届USB Type_C PD快充技术研讨会资料下载》

发表于 2018-04-02 17:55 199次阅读
【下载】《2018.03.27第二届USB Type_C PD快充技术研讨会资料下载》

usb接口电路图大全(DS2490S/PDIUS...

本文主要介绍了usb接口电路图大全(DS2490S/PDIUSBD12)。其中一种电路采用PDIUS...

发表于 2018-04-02 15:47 87次阅读
usb接口电路图大全(DS2490S/PDIUS...

usb接口类型有哪些_usb接口类型大全

本文主要介绍了usb接口类型有哪些_usb接口类型大全。usb是连接计算机系统与外部设备的一种串口总...

发表于 2018-04-02 15:34 73次阅读
usb接口类型有哪些_usb接口类型大全

新奇USB充电线:让你不用摸黑插手机

在现实生活中,USB充电线是大家每天都离不开的产品,使用的频率很高。不过在使用USB充电线的时候,相...

发表于 2018-03-30 14:22 296次阅读
新奇USB充电线:让你不用摸黑插手机

基于SOPC的M8051调试器设计及系统测试

M8051是Mentor公司的嵌入式8051处理器,凭借良好的性能和功耗控制,占据了大量的SoC(S...

发表于 2018-03-30 14:12 65次阅读
基于SOPC的M8051调试器设计及系统测试

29种利用USB设备入侵用户计算机的攻击方式

基于智能手机的 HID 攻击:首先出现于一篇研究论文当中,研究人员们创建出多种定制化 Android...

发表于 2018-03-30 11:13 162次阅读
29种利用USB设备入侵用户计算机的攻击方式

10W CV/CC单面USB充电器

介绍 本设计实例报告描述了使用InnoSwitch-CH INN2023K的10 W CV / CC...

发表于 2018-03-29 16:51 1259次阅读
10W CV/CC单面USB充电器

六位大咖高峰亮剑 热议USB Type-C PD...

2018年3月27日下午2点,由电子发烧友主办的第二届USB Type-C PD快充技术研讨会在深圳...

发表于 2018-03-29 09:02 1877次阅读
六位大咖高峰亮剑 热议USB Type-C PD...

USB传输的嵌入式心电图量测系统设计

心电图常被广泛运用在临床实验上,用于量测心脏和肺部疾病的重要诊断工具。目前心电图量测之资料传输介面...

发表于 2018-03-28 09:53 69次阅读
USB传输的嵌入式心电图量测系统设计

[实战经验] STM32F767 的 USB 工作在 HOST 模式下的远程唤醒问题

发表于 2018-03-27 13:49 396次阅读
[实战经验] STM32F767 的 USB 工作在 HOST 模式下的远程唤醒问题

按教程安装了IMAQ for USB,然后置换了DLL文件,还是没有USB摄像头控件?

发表于 2018-03-27 09:16 187次阅读
按教程安装了IMAQ for USB,然后置换了DLL文件,还是没有USB摄像头控件?

安森美告诉你如何用Type-C方案快速升级USB...

安森美半导体 FUSB301 USB Type-C 控制器不仅可使您的设备向后兼容,还可增强您产品的...

发表于 2018-03-26 15:09 347次阅读
安森美告诉你如何用Type-C方案快速升级USB...

usb是串行接口吗_串行接口和并行接口有什么区别

本文开始介绍了串行接口的定义,其次阐述了串行接口的划分标准以及分析了串行接口和并行接口,最后分析了u...

发表于 2018-03-26 14:43 98次阅读
usb是串行接口吗_串行接口和并行接口有什么区别

关于cc2530串口发送数据的问题

发表于 2018-03-22 22:19 250次阅读
关于cc2530串口发送数据的问题

Ktec冠德USB PD充电器拆解

自去年苹果发布新机之后,USB PD行业迎来了爆发式的增长。无论是移动电源还是充电器厂商,亦或是相关...

发表于 2018-03-22 15:58 1796次阅读
Ktec冠德USB PD充电器拆解

回收U2761A-USB函数发生器

发表于 2018-03-20 09:09 65次阅读
回收U2761A-USB函数发生器

通过注册表获取USB转串口设备串口号-USB接口的关联关系

发表于 2018-03-19 22:13 154次阅读
通过注册表获取USB转串口设备串口号-USB接口的关联关系

关于使用 FT232RL USB转uart不识别的问题

发表于 2018-03-19 11:49 366次阅读
关于使用 FT232RL USB转uart不识别的问题

USB Type-C爆发在即你准备好了吗

USB Type-C已不再是全新话题,这个USB介面协议,与常见用于笔记型电脑的Type-A或And...

发表于 2018-03-17 11:00 597次阅读
USB Type-C爆发在即你准备好了吗

室内激光无线充电新技术 可媲美传统 USB

蓝牙和 Wi-Fi 已经让人们享受了多年的便利,但是无线充电技术却一直在充电功率和传输距离上拖着后腿...

发表于 2018-03-17 09:01 687次阅读
室内激光无线充电新技术 可媲美传统 USB

共享VS-RK3399 USB开发指南

发表于 2018-03-14 10:52 576次阅读
共享VS-RK3399  USB开发指南

苹果又要提升防水!还是在接口上做文章

对于苹果来说,虽然Mac笔记本系列已经全面拥抱USB-C的接口,但想要iPhone也顺从这样的设计,...

发表于 2018-03-13 16:57 819次阅读
苹果又要提升防水!还是在接口上做文章

品胜TS-C088 Type-C+5USB多口充...

现在Type-C接口被手机厂商广为采用,而在USB PD的助力下,Type-C接口在短短两年的时间内...

发表于 2018-03-13 14:50 561次阅读
品胜TS-C088 Type-C+5USB多口充...

手机触摸屏失灵了怎么办,这些办法教你解决

你是否碰到这种抓狂的时候,手机屏幕总是要按多几下才能反应过来,有时点了好几下也依然没反应。其实,发生...

发表于 2018-03-12 14:27 1060次阅读
手机触摸屏失灵了怎么办,这些办法教你解决

【转发】分享个用STM32F407实现的USB摄像头UVC,有源码

发表于 2018-03-12 14:09 523次阅读
【转发】分享个用STM32F407实现的USB摄像头UVC,有源码

代码分析:九轴姿态传感器是无人机中必备重要器件。

SPI连接的是型号为BMI160的六轴加速度计和陀螺仪传感器。具体是如何通过寄存器的读取加速度值的我...

发表于 2018-03-12 11:29 576次阅读
代码分析:九轴姿态传感器是无人机中必备重要器件。

串口通信(232,485,422)以及常见问题

与串行通信相对的是并行通信。数据传输一般都是以字节传输的,一个字节8个位。拿一个并行通信举例来说,也...

发表于 2018-03-12 08:33 694次阅读
串口通信(232,485,422)以及常见问题

为什么cypress的usb驱动安装到电脑不识别,用的cy7c68013芯片

发表于 2018-03-11 11:37 119次阅读
为什么cypress的usb驱动安装到电脑不识别,用的cy7c68013芯片

USB Type-C爆发在即,你足够了解了吗?

“ USB Type-C已不再是全新话题,这个USB介面协议,与常见用于笔记型电脑的Type-A或A...

发表于 2018-03-09 15:28 777次阅读
USB Type-C爆发在即,你足够了解了吗?

汽车系统中的典型电压拓扑结构应用

USB Type-C新标准中最令人激动的一个方面是其电力传输部分。通过USB供电,器件可以成功获得更...

发表于 2018-03-09 09:21 2336次阅读
汽车系统中的典型电压拓扑结构应用

基于TPD2S300 USB Type-C连接器...

USB Type-C连接器应用于笔记本电脑甚至机顶盒变得越来越普遍,但随着它应用于小尺寸应用程序,如...

发表于 2018-03-07 09:25 3385次阅读
基于TPD2S300 USB Type-C连接器...

图文详解USB转TTL设备与电路板的连接

图文详解USB转TTL与电路板的连接。

发表于 2018-03-05 08:55 975次阅读
图文详解USB转TTL设备与电路板的连接

PCB layout之USB差分走线布线经验教训

PCB layout之USB差分走线布线经验教训。USB是一种快速、双向、同步传输、廉价、方便使用的...

发表于 2018-03-01 08:35 977次阅读
PCB layout之USB差分走线布线经验教训

Diodes推出集成进阶功能的USB 3.1 G...

Diodes 公司为领先业界的高质量应用特定标准产品全球制造商与供货商,其产品涵盖广泛领域,包括独立...

发表于 2018-03-01 05:13 195次阅读
Diodes推出集成进阶功能的USB 3.1 G...

PICKIT2烧写器使用说明书

安装pickit2驱动前,请先安装 MPLAB IDE 软件当pickit2的USB 接到电脑上时,...

发表于 2018-02-27 10:38 601次阅读
PICKIT2烧写器使用说明书

RS232接口转USB接口的通讯方法介绍

一、引言 USB作为一种的PC机互连协议,使外设到计算机的连接更加高效、便利。这种接口适合于多种设备...

发表于 2018-02-20 16:46 202次阅读
RS232接口转USB接口的通讯方法介绍

Type-USB3.1详细介绍

USB Type-C 提供了很多特性,其中包括为终端用户提供高级灵活性和便利性。系统设计人员必须谨慎...

发表于 2018-02-14 09:36 202次阅读
Type-USB3.1详细介绍

网易首款USB插线板拆解与评测

“万物互联”时代,硬件和软件向来不分家。从第一款网易云音乐蓝牙播放器车充开始,网易已经在物联网上进行...

发表于 2018-02-10 02:56 864次阅读
网易首款USB插线板拆解与评测

USB供电( PD)控制器--STUSB4710...

ST公司的STUSB4710是USB供电( PD)控制器,集成了放电通路,能在Type-C配置通路引...

发表于 2018-02-06 16:08 136次阅读
USB供电( PD)控制器--STUSB4710...

Molex/Microchip联合开发汽车USB...

莫仕(Molex)和Microchip正在合作开发用于汽车资讯娱乐系统的整合式USB媒体模组与USB...

发表于 2018-02-05 05:56 135次阅读
Molex/Microchip联合开发汽车USB...

java串口通信编程实例

串口通信指串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用...

发表于 2018-02-01 10:15 1206次阅读
java串口通信编程实例

意法半导体推出经行业认证的基于STM32微控制器...

针对全球越来越多的电子产品公司计划在新产品中采用USB Type-C和电力传输(PD,Power D...

发表于 2018-02-01 01:35 1115次阅读
意法半导体推出经行业认证的基于STM32微控制器...

用usb自制简易电烙铁详细步骤介绍

本文介绍了电烙铁机械原理与电烙铁温度的设定,其次介绍了电烙铁的使用注意事项,最后介绍了用usb制简易...

发表于 2018-01-29 13:40 2028次阅读
用usb自制简易电烙铁详细步骤介绍

type c数据线拆解及接线图文详解

本文对一type c数据线拆解进行详细介绍,并介绍了type c数据线接线图。

发表于 2018-01-29 10:17 5497次阅读
type c数据线拆解及接线图文详解

TYPE-C接口的工作原理图文详解

Type-C 接口,其全称是:USB Type-C 。大家肯定都听过这个名词,但是大多数人对这个接...

发表于 2018-01-29 09:53 1731次阅读
TYPE-C接口的工作原理图文详解

type c母座接口定义介绍

USB Type C在2015年得到了广泛的支持,众多厂商都推出了usb type c接口产品。据分...

发表于 2018-01-29 08:50 284次阅读
type c母座接口定义介绍

USB PD与Type-C融合的端口革命下,快充...

无线充电与快充是今年备受瞩目的手机卖点。对于引领风向的苹果iPhone X 而言,令人欣慰的是:支持...

发表于 2018-01-25 18:12 1342次阅读
USB PD与Type-C融合的端口革命下,快充...

拿到奔驰E级豪车USB充电模块拆解后惊呆了:PC...

而其实汽车电源的设计具有特殊性,想要把单个USB的充电器做好,单就保护还有电压移植的工作就已经很不容...

发表于 2018-01-24 10:21 2516次阅读
拿到奔驰E级豪车USB充电模块拆解后惊呆了:PC...

基于USB 总线控制64 ×16LED 点阵显示...

LED点阵显示器作为一种新兴的显示器件,是由多个独立的LED (发光二极管)封装而成。介绍了一种通过...

发表于 2018-01-22 05:53 227次阅读
基于USB 总线控制64 ×16LED 点阵显示...

如何自制手机充电宝?DIY图解步骤

手机充电宝是作为一个远行人士必备的设备,为了免除关键时刻手机没电的尴尬,快来学习自制手机充电宝吧!本...

发表于 2018-01-18 18:15 2548次阅读
如何自制手机充电宝?DIY图解步骤

USB Type-C和Quick Charge概...

USB Type-C和Quick Charge(QC)是当前市场两大新的供电标准,也是市场趋势。这...

发表于 2018-01-17 16:06 193次阅读
USB Type-C和Quick Charge概...

ch340g电路图5v和3.3v供电电路

本文介绍了ch340g电路图,5v和3.3v供电电路图区别分析。CH340的第4脚V3在3.3V电源...

发表于 2018-01-11 16:33 1587次阅读
ch340g电路图5v和3.3v供电电路

ch340驱动安装教程

本文介绍了ch340驱动安装教程:USB转串口驱动安装、驱动安装及硬件链接、上位机软件安装教程。CH...

发表于 2018-01-11 15:50 578次阅读
ch340驱动安装教程

CH340g使用说明详解

本文介绍了CH340g使用说明详解,H340可以用于升级原串口外围设备,或者通过USB总线为计算机增...

发表于 2018-01-11 15:34 1263次阅读
CH340g使用说明详解

CH340g电路设计注意事项

在使用CH340芯片进行电路设计时,我们应该注意哪些细节与事项呢?在电路设计原理上,5V供电时芯片V...

发表于 2018-01-11 14:58 660次阅读
CH340g电路设计注意事项

ch340g典型应用电路

本文介绍了ch340g典型应用电路,CH340芯片内置USB总线上拉电阻和片内信号端,UD+和UD-...

发表于 2018-01-11 14:45 929次阅读
ch340g典型应用电路

usb转串口ch340电路图

本文介绍了usb转串口ch340电路图,USB转串口的RXD引脚与单片机的TXD引脚相连,USB转串...

发表于 2018-01-10 19:18 1656次阅读
usb转串口ch340电路图

ch340中文资料引脚图及引脚定义_电气参数

本文介绍了ch340中文资料引脚图及引脚定义_电气参数。CH340是一个USB总线的转接芯片,实现U...

发表于 2018-01-10 19:05 616次阅读
ch340中文资料引脚图及引脚定义_电气参数

怎么设置usb为第一启动_bios设置u盘启动

U盘安装系统的首要步骤就是将U盘设置为第一启动项,那么如何将usb设置设为第一启动项呢?使用u盘装系...

发表于 2018-01-08 19:19 554次阅读
怎么设置usb为第一启动_bios设置u盘启动

什么是无线USB技术?从它的应用上学习就明白了

由于USB技术在最近几年已成长为PC主流的技术标准,几乎所有的外设都可以借助USB接口轻易地与PC机...

发表于 2018-01-06 07:34 2521次阅读
什么是无线USB技术?从它的应用上学习就明白了

基于CC2530的ZigBee协调器节点设计

本文给出了基于TI新一代芯片CC2530的ZigBee协调器节点设计方法,该方法选用TICC2591...

发表于 2018-01-05 15:25 875次阅读
基于CC2530的ZigBee协调器节点设计

USB转TTL、USB转232的区别以及各电平信...

本文主要介绍了USB转TTL、USB转232的区别以及各电平信号的特性分析。USB转TTL芯片的单片...

发表于 2018-01-05 14:55 412次阅读
USB转TTL、USB转232的区别以及各电平信...

智能手环怎么用_智能手环使用教程

智能手环怎么用_智能手环使用教程 现如今智能运动手环还是比较流行的,科技巨头们也纷纷推出相关的产品,...

发表于 2018-01-02 11:43 2724次阅读
智能手环怎么用_智能手环使用教程

基于CY7C68013A芯片的USB键盘的设计

  由于具备传输速率高、体积小等特点,USB接口广泛地应用于计算机外部硬件设计。针对此介绍了Cypr...

发表于 2017-12-26 09:32 328次阅读
基于CY7C68013A芯片的USB键盘的设计

基于STM32F103的USB数据采集模块的设计

本文主要介绍了一种基于STM32F103的USB数据采集模块的设计,PC作为USB主机,USB采集模...

发表于 2017-12-25 15:50 805次阅读
基于STM32F103的USB数据采集模块的设计

基于nRF24L01的无线USB控制系统

当今,无线技术飞速发展,应用的领域越来越广,与有线技术相比,无线技术具有方便、灵活、减少布线施工难度...

发表于 2017-12-16 11:57 325次阅读
基于nRF24L01的无线USB控制系统

基于STM32F103和nRF24L01的近程无...

近年来, 随着无线通信技术的发展, 无线通讯设备的集成化越来越高。本文介绍了一种选用高性能、低功耗的...

发表于 2017-12-15 15:52 352次阅读
基于STM32F103和nRF24L01的近程无...

usb转串口是什么原理

一般主流的是能过PL2303来实现上面的转换,而主要的芯片就在串口后端的位置,通过芯片来实现转换,同...

发表于 2017-12-13 14:56 2232次阅读
usb转串口是什么原理

usb转串口驱动有什么作用?怎么安装usb转串口...

 大部分新的笔记本没有提供串口,在使用一些程序如考勤打卡机、门禁读卡器等设备时,无法将这些设备的串口...

发表于 2017-12-13 14:35 536次阅读
usb转串口驱动有什么作用?怎么安装usb转串口...

用USB卫星接收盒接收远程教育资源的创意方案分析

首先进行的是硬软件方面的安装。将DVBWORLD 2102S USB接收盒用随机附带的USB线与电脑...

发表于 2017-12-12 09:02 98次阅读
用USB卫星接收盒接收远程教育资源的创意方案分析

一体化 USB 新型电源解决方案

为了简化从电池或USB电缆吸取功率的工作,凌力尔特公司提供了多款器件。这些器件可对AC适配器、USB...

发表于 2017-12-12 06:31 69次阅读
一体化 USB 新型电源解决方案

Picochip将在一个USB适配器上实现完整的...

Picochip日前公布了其在下一代家庭基站技术领域内的愿景,其中包括能够确保其用户在一个超小型设备...

发表于 2017-12-10 09:08 62次阅读
Picochip将在一个USB适配器上实现完整的...

cc2530程序设计实例之CC2530 RF部分...

本文主要介绍了cc2530程序设计实例之CC2530 RF部分使用—实现点对点收发,通过串口调试助手...

发表于 2017-12-09 12:22 1123次阅读
cc2530程序设计实例之CC2530 RF部分...

基于mc34063的USB充电电路

制作过程根据电路原理图,设计单面PCB如下图所示。在焊接电路板时,先准备好附表1中的所有器件。用万用...

发表于 2017-12-08 10:09 586次阅读
基于mc34063的USB充电电路

CC2530芯片DMA控制器配置

 DMA(Direct Memory Access)控制器是一种在系统内部转移数据的独特外设,可以将...

发表于 2017-12-06 19:19 141次阅读
CC2530芯片DMA控制器配置

jlink接口接上电源时无法识别的usb设备的解...

一般来说我们所用的JLINK都是山寨的,一个国外正品JLINK得好几百,所以我们买一个几十块钱的JL...

发表于 2017-12-06 11:35 258次阅读
jlink接口接上电源时无法识别的usb设备的解...

uart与usb对比分析

usb作为一种串行接口,应用日益广泛。如同每个工程设计人员必须掌握I2C,RS232这些接口一样,我...

发表于 2017-12-06 09:58 417次阅读
uart与usb对比分析

usb转串口用什么驱动及其安装步骤分析

USB转串口即实现计算机USB接口到通用串口之间的转换。为没有串口的计算机提供快速的通道,而且,使用...

发表于 2017-12-04 14:15 373次阅读
usb转串口用什么驱动及其安装步骤分析

usb3.0和usb3.1的区别有哪些

 USB 3.1 Gen2是最新的USB规范,该规范由英特尔等公司发起。数据传输速度提升可至速度10...

发表于 2017-12-04 13:53 2017次阅读
usb3.0和usb3.1的区别有哪些

usb3.0 u盘写入速度一般是多少?

USB 3.0是一种USB规范,该规范由英特尔等公司发起。USB3.0也被认为是SuperSpeed...

发表于 2017-12-04 13:38 503次阅读
usb3.0 u盘写入速度一般是多少?

自举电荷泵式USB电源开关设计

通用串行总线(UniversalSerialBus)使PC机与外部设备的连接变得简单而迅速,随着计算...

发表于 2017-12-04 09:01 176次阅读
自举电荷泵式USB电源开关设计

usb type-c可以传输视频吗?速度怎么样?

USB Type-C接口,简称USB-C,位于智能手机的底部,大多数时候用于充电、数据传输等用途。2...

发表于 2017-12-02 09:32 1768次阅读
usb type-c可以传输视频吗?速度怎么样?

usb type-c接口定义概念解析

USB Type-C接口www.best-dz.com总计有24个针脚,可以正反插且传输速度快,接口...

发表于 2017-12-01 17:21 7676次阅读
usb type-c接口定义概念解析

USB为什么不能盲插,成本问题

USB设备在我们的日常生活中再常见不过了,虽然正反盲插的USB Type-C已经开始逐步普及,但其中...

发表于 2017-12-01 14:03 175次阅读
USB为什么不能盲插,成本问题

一种基于数字水印技术的新型门票防伪检测系统设计与...

门票是观看奥运会、演唱会、参加高级会议的入场券。随着高质量图像输入输出设备的发展,特别是精度超过1 ...

发表于 2017-11-30 16:54 228次阅读
一种基于数字水印技术的新型门票防伪检测系统设计与...

基于LTM2884的隔离式USB收发器和电源的设...

如果用标准 USB (通用串行总线) 电缆将台式 PC 连接到工业设备或医疗设备,可能立刻就会得到一...

发表于 2017-11-30 09:07 223次阅读
基于LTM2884的隔离式USB收发器和电源的设...

基于FT245R芯片的存储测试系统USB接口的设...

接口电路是测试系统与外部计算机进行数据传输的通道,是存储测试系统的重要组成部分。众所周知,串口使用受...

发表于 2017-11-30 08:38 306次阅读
基于FT245R芯片的存储测试系统USB接口的设...

有关于STM32Cube的几个常见问题(USB设...

1、如何动态地修改设备描述符或字符串描述符? 在文件 usbd_desc.c里,与设备和字符串相关的...

发表于 2017-11-29 16:38 211次阅读
有关于STM32Cube的几个常见问题(USB设...

电源线上的磁环作用分析

磁环它是电子电路中常用的抗干扰元件,对于高频噪声有很好的抑制作用,一般使用铁氧体材料(Mn-Zn)制...

发表于 2017-11-28 18:58 812次阅读
电源线上的磁环作用分析

苹果最新 MacOS 安全更新包中含有针对 US...

苹果公司最新的 MacOS 安全更新包中包含了针对 USB 代码执行漏洞的补丁。 这个漏洞存在于 f...

发表于 2017-11-27 06:34 16次阅读
苹果最新 MacOS 安全更新包中含有针对 US...

CC2530的主要功能特性以及应用电路图

TI 公司的CC2530是真正的系统级芯片(SoC),适用于2.4GHz IEEE 802.15.4...

发表于 2017-11-25 15:38 729次阅读
CC2530的主要功能特性以及应用电路图

基于FPGA的CAN总线转换USB接口的设计方案

CAN总线是现场总线的一种,因为其成本低、容错能力强、支持分布式控制、通信速率高等优点在汽车、工业控...

发表于 2017-11-24 17:20 260次阅读
基于FPGA的CAN总线转换USB接口的设计方案

USB初始化程序

USB的单片机程序包括三部分:初始化单片机和外围电路(包括USB芯片);主循环部分,用来检测;中断服...

发表于 2017-11-24 08:46 304次阅读
USB初始化程序

Artix-7 USB设计

低功耗的赛灵思 FPGA 系列使总线供电的 USB 器件设计垂手可得 凭借在市场中数十亿的端口数量,...

发表于 2017-11-17 07:22 45次阅读
Artix-7 USB设计

usb集线器为什么在win7上不能用

 由于英特尔100系列芯片组撤掉USB的EHCI主控,仅保留XHCI主控,所以WIN7系统没有整合X...

发表于 2017-11-16 17:07 516次阅读
usb集线器为什么在win7上不能用

usb集线器使用小常识

集线器这么小的结构,理论上,不能离开电脑这个操作平台,否则如何操作?除非你的手机电脑化能显示别的手机...

发表于 2017-11-16 16:36 240次阅读
usb集线器使用小常识

usb集线器对电脑有什么坏处

USB-Hub只是一个扩展USB接口的工具,说白了它只是接口扩展工具而已.事实上凡是采用USB-Hu...

发表于 2017-11-16 16:07 731次阅读
usb集线器对电脑有什么坏处

usb集线器怎么外接电源

身边有朋友问小编,USB集线器带外接电源的有什么用,不用外接电源也可以用,为什么还要麻烦接多一个外接...

发表于 2017-11-16 15:44 249次阅读
usb集线器怎么外接电源

usb集线器是什么东东_usb集线器功能介绍

 USB Hub,指的是一种可以将一个USB接口扩展为多个,并可以使这些接口同时使用的装置。USB ...

发表于 2017-11-16 15:18 216次阅读
usb集线器是什么东东_usb集线器功能介绍