0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

ptn是什么

工程师 来源:未知 作者:姚远香 2019-02-28 13:54 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

PTN(分组传送网)是指这样一种光传送网络架构和具体技术:在IP业务和底层光传输媒质之间设置了一个层面,它针对分组业务流量的突发性和统计复用传送的要求而设计,以分组业务为核心并支持多业务提供,具有更低的总体使用成本,同时秉承光传输的传统优势,包括高可用性和可靠性、高效的带宽管理机制和流量工程、便捷的OAM和网管、可扩展、较高的安全性等。

PTN支持多种基于分组交换业务的双向点对点连接通道,具有适合各种粗细颗粒业务、端到端的组网能力,提供了更加适合于IP业务特性的“柔性”传输管道;具备丰富的保护方式,遇到网络故障时能够实现基于50ms的电信级业务保护倒换,实现传输级别的业务保护和恢复;继承了SDH技术的操作、 管理和维护机制(OAM),具有点对点连接的完美OAM体系,保证网络具备保护切换、错误检测和通道监控能力;完成了与IP/MPLS多种方式的互连互通,无缝承载核心IP业务;网管系统可以控制连接信道的建立和设置,实现了业务QoS的区分和保证,灵活提供SLA等优点。

另外,它可利用各种底层传输通道(如SDH/Ethernet/OTN)。总之,它具有完善的OAM机制,精确的故障定位和严格的业务隔离功能,最大限度地管理和利用光纤资源,保证了业务安全性,在结合GMPLS后,可实现资源的自动配置及网状网的高生存性。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • PTN
    PTN
    +关注

    关注

    4

    文章

    73

    浏览量

    33299
  • 分组传送网
    +关注

    关注

    1

    文章

    7

    浏览量

    8112
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    DXP 2004

    我有DXP 2004安装包, 需要私信我。 只有网易136邮箱才能发! 每周6上线一次,OK。
    发表于 12-07 19:52

    【瑞萨RA6E2地奇星开发板试用】驱动 TEMT6000 环境光传感器

    【瑞萨RA6E2地奇星开发板试用】驱动 TEMT6000 环境光传感器 本文介绍了 RA6E2 地奇星开发板通过 ADC 读取 TEMT6000 传感器数据,实现串口打印环境光照强度的项目设计。 项目介绍 RA6E2 地奇星是一款基于100MHz Arm® Cortex®-M33 内核架构的核心板,主控芯片为 R7FA6E2BB3CNE; 项目包括 串口配置:使能 SCI9 异步串口通信功能,实现串口测试; ADC 配置:使能 AN000 通道 ADC 功能,并配置引脚、传感器、扫描频率、回调函数等; TEMT6000 驱动:通过计算获得环境光照强度数据并串口打印。 硬件连接 包括 JLINK 调试器、DHT11 模块、串口模块。 J-Link 调试器 RA6E2 J-Link Note SWCLK SCL Serial Clock SWDIO SDA Serial Data GND GND Ground 3V3 3V3 Power TEMT6000 模块 RA6E2 TEMT6000 Note P000 OUT Analog Output 3V3 VCC Power GND GND Ground 串口模块 (JLINK CDC) RA6E2 J-Link Note TXD (P109) RX Transmit RXD (P110) TX Receive GND GND Ground 实物图 动态展示见顶部视频。 串口配置 介绍了板载 USB 串口打印字符串的项目设计,以测试 UART 输出功能。 工程创建 打开 e^2^ studio 软件; 依次点击 文件 - 新建 - 瑞萨 C/C++ 项目 - Renesas RA ; 依次进行工程命名,路径设置,FSP版本,目标开发板选择,Device 选择 R7FA6E2BB3CNE ,工具链选择 GNU ARM Embedded ,调试器选择 J-Link ; 完成工程创建 ; 进入 FSP 配置界面,打开 Pins 标签页,根据原理图或开发板丝印,将 P109 和 P110 引脚分别配置为 TXD9 和 RXD9 串口模式; 新建串口通信堆栈 New Stack - Connectivity - UART (r_sci_uart) ; 串口属性配置,中断和回调函数 user_uart_callback 设置; 进入 BSP 标签页,配置 RA Common 属性,配置内存空间 0x2000 ; 点击 Generate Project Content 按钮,生成工程代码。 详见:【瑞萨RA6E2】ADC 电压温度计 . ADC 配置 在完成前面关于 UART 串口创建的基础上,进一步实现 ADC 项目的添加。 进入 Stacks 标签页,新建 ADC 堆栈New Stack - Analog - ADC (r_adc) ; 属性配置 Input 选项下勾选 Channel 0 ; 中断配置 - Interrupts - Callback 值修改为 adc_callback - 优先级设置为 Priority 2 ; 引脚 Pins 开启 AN000 对应 P000 引脚; ADC 及串口配置完成后, 点击 Generate Project Content ,构建工程。 代码 修改 .../src/hal_entry.c 主程序,代码如下 #include \"hal_data.h\" fsp_err_t err = FSP_SUCCESS; volatile bool uart_send_complete_flag = false; void user_uart_callback (uart_callback_args_t * p_args) { if(p_args->event == UART_EVENT_TX_COMPLETE) { uart_send_complete_flag = true; } } /*------------- UART redirection printf -------------*/ #ifdef __GNUC__ #define PUTCHAR_PROTOTYPE int __io_putchar(int ch) #else #endif PUTCHAR_PROTOTYPE { err = R_SCI_UART_Write(&g_uart9_ctrl, (uint8_t *)&ch, 1); if(FSP_SUCCESS != err) __BKPT(); while(uart_send_complete_flag == false){} uart_send_complete_flag = false; return ch; } int _write(int fd,char *pBuffer,int size) { for(int i=0;i<size;i++) { __io_putchar(*pBuffer++); } return size; } /*------------- ADC callback -------------*/ volatile bool scan_complete_flag = false; void adc_callback (adc_callback_args_t * p_args) { FSP_PARAMETER_NOT_USED(p_args); scan_complete_flag = true; } void hal_entry(void) { /* TODO: add your own code here */ /* Open the transfer instance with initial configuration. */ err = R_SCI_UART_Open(&g_uart9_ctrl, &g_uart9_cfg); assert(FSP_SUCCESS == err); /* Initializes the module. */ err = R_ADC_Open(&g_adc0_ctrl, &g_adc0_cfg); /* Handle any errors. This function should be defined by the user. */ assert(FSP_SUCCESS == err); /* Enable channels. */ err = R_ADC_ScanCfg(&g_adc0_ctrl, &g_adc0_channel_cfg); assert(FSP_SUCCESS == err); while(1) { uint16_t adc_data0=0; /* Enable scan triggering from ELC events. */ (void) R_ADC_ScanStart(&g_adc0_ctrl); scan_complete_flag = false; while (!scan_complete_flag) { /* Wait for callback to set flag. */ } err = R_ADC_Read(&g_adc0_ctrl, ADC_CHANNEL_0, &adc_data0); assert(FSP_SUCCESS == err); printf(\"P000(AN0)=%d\\\\\\\\n\",adc_data0); R_BSP_SoftwareDelay (1000, BSP_DELAY_UNITS_MILLISECONDS); } } 保存代码,编译工程并调试。 效果 JLINK CDC UART 接收端连接开发板串口发送端 P109; 运行串口调试助手,配置端口号、波特率等参数; 打开串口,即可接收 ADC 原始值和 MCU 温度数据; TEMT6000 光感 TEMT6000 环境光(可见光)传感器,对可见光照度的反应特性与人眼的特性类似,可以模拟人对环境光线的强度的判断,从而方便做出与人友好互动的应用。 可应用于照明控制、屏幕背光控制等。 原理 通过 RA6E2 板载 ADC 功能读取 TEMT6000 模块模拟输出引脚的电压,获取环境光强度。 模块原理图 代码 while(1) { uint16_t adc_raw=0; int32_t temp_c = get_temperature_c(); float volt=0; /* Enable scan triggering from ELC events. */ (void) R_ADC_ScanStart(&g_adc0_ctrl); scan_complete_flag = false; while (!scan_complete_flag) { /* Wait for callback to set flag. */ } err = R_ADC_Read(&g_adc0_ctrl, ADC_CHANNEL_0, &adc_raw); assert(FSP_SUCCESS == err); volt = (float)(adc_raw *3.3/4096); printf(\"P000(AN0) = %d, Temp: %ld ℃, Voltage: %.2f\\\\\\\\n\", adc_raw, temp_c, volt); R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_04_PIN_02, BSP_IO_LEVEL_HIGH); R_BSP_SoftwareDelay (50, BSP_DELAY_UNITS_MILLISECONDS); R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_04_PIN_02, BSP_IO_LEVEL_LOW); R_BSP_SoftwareDelay (950, BSP_DELAY_UNITS_MILLISECONDS); } 保存代码,编译工程并调试。 效果 运行串口调试助手,配置端口号、波特率等参数; 打开串口,即可接收 ADC 电压和 TEMT6000 光感数据; 动态效果见底部视频。 总结 本文介绍了 RA6E2 地奇星开发板通过 ADC 读取 TEMT6000 传感器数据,实现串口打印环境光照强度的项目设计,为相关产品的快速开发和应用设计提供了参考。
    发表于 12-07 17:32

    电能计量芯片遇到的问题

    在开发2路直流电能表过程中,计量专用芯片的第一路的电流V1P、V1N(差分输入1.5V,幅度0.2V)精度可以,但是第二路的电流V2P、V2N(差分输入1.5V,幅度0.2V)的精度很差,求解答,谢谢!另外有开发过直流电能表的高手也可以直接联系我委托开发。
    发表于 12-07 17:17

    深度解析DAC2900:高性能数模转换器的卓越之选

      在电子工程师的日常工作中,数模转换器(DAC)是实现数字信号到模拟信号转换的关键器件,广泛应用于波形合成、通信、医疗和测试仪器等众多领域。今天,我们就来深入探讨德州仪器(TI)推出的DAC2900这款高性能10位双声道高速数模转换器。 文件下载: dac2900.pdf 一、DAC2900的关键特性 DAC2900的特性使其在众多数模转换器中脱颖而出,为工程师们提供了出色的性能和设计灵活性。 高更新速率 :高达125MSPS的更新速率,能够满足高速信号处理的需求,适
    的头像 发表于 12-07 16:37 484次阅读
    深度解析DAC2900:高性能数模转换器的卓越之选

    【瑞萨RA6E2地奇星开发板试用】串口打印DHT11温湿度数据

    【瑞萨RA6E2地奇星开发板试用】串口打印DHT11温湿度数据 本文介绍了 RA6E2 地奇星开发板驱动 DHT11 传感器实现串口打印环境温湿度数据的项目设计。 项目介绍 RA6E2 地奇星是一款基于100MHz Arm® Cortex®-M33 内核架构的核心板,主控芯片为 R7FA6E2BB3CNE; 项目包括 串口配置:使能 SCI9 异步串口通信功能,实现串口测试; DHT11驱动:添加基于单总线协议的 DHT11 驱动代码,获取环境温湿度数据并串口打印。 硬件连接 包括 JLINK 调试器、DHT11 模块、串口模块。 J-Link 调试器 RA6E2 J-Link Note SWCLK SCL Serial Clock SWDIO SDA Serial Data GND GND Ground 3V3 3V3 Power DHT11 模块 RA6E2 DHT11 Note P407 Data Data line 3V3 VCC Power GND GND Ground 串口模块 (JLINK CDC) RA6E2 J-Link Note TXD (P109) RX Transmit RXD (P110) TX Receive GND GND Ground 详见顶部视频。 串口配置 介绍了板载 USB 串口打印字符串的项目设计,以测试 UART 输出功能。 工程创建 打开 e^2^ studio 软件; 依次点击 文件 - 新建 - 瑞萨 C/C++ 项目 - Renesas RA ; 依次进行工程命名,路径设置,FSP版本,目标开发板选择,Device 选择 R7FA6E2BB3CFM ,工具链选择 GNU ARM Embedded ,调试器选择 J-Link ; 完成工程创建 ; 进入 FSP 配置界面,打开 Pins 标签页,根据原理图或开发板丝印,将 P109 和 P110 引脚分别配置为 TXD9 和 RXD9 串口模式; 新建串口通信堆栈 New Stack - Connectivity - UART (r_sci_uart) ; 串口属性配置,中断和回调函数 user_uart_callback 设置; 进入 BSP 标签页,配置 RA Common 属性,配置内存空间 0x2000 ; 点击 Generate Project Content 按钮,生成工程代码。 详见:【瑞萨RA6E2】ADC 电压温度计 . 工程代码 在左侧的项目目录中,打开 src/hal_entry.c 文件,添加如下关键代码 #include \"hal_data.h\" #include <stdio.h> fsp_err_t err = FSP_SUCCESS; volatile bool uart_send_complete_flag = false; void user_uart_callback (uart_callback_args_t * p_args) { if(p_args->event == UART_EVENT_TX_COMPLETE) { uart_send_complete_flag = true; } } /*------------- 串口重定向 -------------*/ #ifdef __GNUC__ #define PUTCHAR_PROTOTYPE int __io_putchar(int ch) #else #endif PUTCHAR_PROTOTYPE { err = R_SCI_UART_Write(&g_uart9_ctrl, (uint8_t *)&ch, 1); if(FSP_SUCCESS != err) __BKPT(); while(uart_send_complete_flag == false){} uart_send_complete_flag = false; return ch; } int _write(int fd,char *pBuffer,int size) { for(int i=0;i<size;i++) { __io_putchar(*pBuffer++); } return size; } void hal_entry(void) { /* TODO: add your own code here */ err = R_SCI_UART_Open(&g_uart9_ctrl, &g_uart9_cfg); assert(FSP_SUCCESS == err); while(1){ printf(\"hello world!\\\\\\\\n\"); R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_04_PIN_02, BSP_IO_LEVEL_HIGH); R_BSP_SoftwareDelay (50, BSP_DELAY_UNITS_MILLISECONDS); R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_04_PIN_02, BSP_IO_LEVEL_LOW); R_BSP_SoftwareDelay (450, BSP_DELAY_UNITS_MILLISECONDS); } } 保存文件,右键项目 - 构建程序; 右键项目 - 调试项目 - 上传固件至开发板。 若报错,可右键项目进入属性界面,选择 C/C++ 构建 - 设置 - GNU Arm Cross C Linker - Miscellaneous,勾选 printf 、scanf 以及syscalls 选项。 测试效果 JLINK CDC UART 接收端连接开发板串口发送端 P109; 运行串口调试助手,配置端口号、波特率等参数; 打开串口,即可接收芯片发送的字符串; 每接收到一次消息,板载 LED 闪烁一次。 DHT11 驱动 在串口通信的基础上,使用单总线协议,驱动 DHT11 温湿度传感器,获取环境温湿度数据,并串口打印。 代码 dht11.h 新建 .../src/dht11.h 头文件,并添加如下代码 #ifndef DHT11_H_ #define DHT11_H_ #include \"hal_data.h\" #include <stdio.h> #ifndef delay_ms #define delay_ms(x)R_BSP_SoftwareDelay(x, BSP_DELAY_UNITS_MILLISECONDS) #endif #ifndef delay_1ms #define delay_1ms(x)R_BSP_SoftwareDelay(x, BSP_DELAY_UNITS_MILLISECONDS) #endif #ifndef delay_us #define delay_us(x)R_BSP_SoftwareDelay(x, BSP_DELAY_UNITS_MICROSECONDS) #endif #ifndef delay_1us #define delay_1us(x)R_BSP_SoftwareDelay(x, BSP_DELAY_UNITS_MICROSECONDS) #endif #ifndef u8 #define u8uint8_t #endif #ifndef u16 #define u16 uint16_t #endif #ifndef u32 #define u32 uint32_t #endif #define DHT11_DAT_GPIO_PIN BSP_IO_PORT_04_PIN_07// DHT11数据引脚 // 设置DHT11输出高或低电平 #define DATA_GPIO_OUT(x) R_IOPORT_PinWrite(&g_ioport_ctrl, DHT11_DAT_GPIO_PIN, x) // 获取DHT11数据引脚高低电平状态 static inline bsp_io_level_t DATA_GPIO_IN(void) { bsp_io_level_t p_pin_value; fsp_err_t err = R_IOPORT_PinRead(&g_ioport_ctrl, DHT11_DAT_GPIO_PIN, &p_pin_value); if(err != FSP_SUCCESS) { printf(\"DATA_GPIO_IN Failed!!\\\\\\\\r\\\\\\\\n\"); } return p_pin_value; } void DHT11_Init(void); uint8_t DHT11_Read_Data(float *temperature, float *humidity); #endif /* DHT11_H_ */ dht11.c 新建 .../src/dht11.c 源文件,并添加如下代码 #include \"dht11.h\" #define DHT11_DEBUG0 // 调试信息 1:开启 0:关闭 #define DHT11_TIMEOUT1000 // 超时阈值 /****************************************************************** * 函 数 名 称:DHT11_Init * 函 数 说 明:配置DHT11的初始化 * 函 数 形 参:无 * 函 数 返 回:无 * 作 者:LC * 备 注:无 ******************************************************************/ void DHT11_Init(void) { //调用 R_IOPORT_Open 函数来初始化 IOPORT 模块 R_IOPORT_Open (&g_ioport_ctrl, g_ioport.p_cfg); /* 设置DHT11数据引脚输出高电平 */ DATA_GPIO_OUT(1); delay_1ms(100); // 等待DHT11稳定 } /****************************************************************** * 函 数 名 称:DHT11_GPIO_Mode_OUT * 函 数 说 明:配置DHT11的数据引脚为输出模式 * 函 数 形 参:无 * 函 数 返 回:无 * 作 者:LC * 备 注:无 ******************************************************************/ static void DHT11_GPIO_Mode_OUT(void) { // 在运行过程中配置DHT11数据引脚为输出模式 // 这里使用R_IOPORT_PinCfg函数配置引脚 fsp_err_t err = R_IOPORT_PinCfg(&g_ioport_ctrl, DHT11_DAT_GPIO_PIN, ((uint32_t) IOPORT_CFG_DRIVE_HIGH | (uint32_t) IOPORT_CFG_PORT_DIRECTION_OUTPUT | (uint32_t) IOPORT_CFG_PORT_OUTPUT_HIGH)); if(err != FSP_SUCCESS) { printf(\"DHT11_GPIO_Mode_OUT Failed!!\\\\\\\\r\\\\\\\\n\"); } } /****************************************************************** * 函 数 名 称:DHT11_GPIO_Mode_IN * 函 数 说 明:配置DHT11的数据引脚为输入模式 * 函 数 形 参:无 * 函 数 返 回:无 * 作 者:LC * 备 注:无 ******************************************************************/ static void DHT11_GPIO_Mode_IN(void) { // 在运行过程中配置DHT11数据引脚为输入模式 // 这里使用R_IOPORT_PinCfg函数配置引脚 fsp_err_t err = R_IOPORT_PinCfg(&g_ioport_ctrl, DHT11_DAT_GPIO_PIN, (uint32_t) IOPORT_CFG_PORT_DIRECTION_INPUT); if(err != FSP_SUCCESS) { printf(\"DHT11_GPIO_Mode_IN Failed!!\\\\\\\\r\\\\\\\\n\"); } } /****************************************************************** * 函 数 名 称:DHT11_Start * 函 数 说 明:开始DHT11测量 * 函 数 形 参:无 * 函 数 返 回:无 * 作 者:LC * 备 注:无 ******************************************************************/ void DHT11_Start(void) { DHT11_GPIO_Mode_OUT(); // 输出模式 DATA_GPIO_OUT(1); DATA_GPIO_OUT(0); delay_ms(25);// 保持18+ms低电平 DATA_GPIO_OUT(1); delay_us(25);// 主机释放总线 DHT11_GPIO_Mode_IN(); // 切换输入模式 } /****************************************************************** * 函 数 名 称:DHT11_CheckResponse * 函 数 说 明:检查DHT11从机的相应是否正确 * 函 数 形 参:无 * 函 数 返 回:1:正确 0:错误 * 作 者:LC * 备 注:无 ******************************************************************/ uint8_t DHT11_CheckResponse(void) { uint32_t timeout = 0; // 等待从机响应发送电平响应(低电平)(80µs) timeout = DHT11_TIMEOUT; while(DATA_GPIO_IN() && timeout--) { if(timeout == 0) { printf(\"DHT11_CheckResponse Failed[1]!!\\\\\\\\r\\\\\\\\n\"); return 0; // 失败 } } // 等待从机响应发送电平响应(高电平)(80µs) timeout = DHT11_TIMEOUT; while((!DATA_GPIO_IN()) && timeout--) { if(timeout == 0) { printf(\"DHT11_CheckResponse Failed[2]!!\\\\\\\\r\\\\\\\\n\"); return 0; // 失败 } } // 进入前导低电平 timeout = DHT11_TIMEOUT; while(DATA_GPIO_IN() && timeout--) { if(timeout == 0) { printf(\"DHT11_CheckResponse Failed[3]!!\\\\\\\\r\\\\\\\\n\"); return 0; // 失败 } } return 1; } /****************************************************************** * 函 数 名 称:DHT11_ReadBit * 函 数 说 明:读取一位数据位 * 函 数 形 参:无 * 函 数 返 回:0 或 1 * 作 者:LC * 备 注:无 ******************************************************************/ uint8_t DHT11_ReadBit(void) { uint8_t bit = 0; uint8_t timeCount = 0; uint32_t timeout; // 等待前导低电平过去 // 等待信号线由低变高 timeout = DHT11_TIMEOUT; while((!DATA_GPIO_IN()) && timeout--) { if(timeout == 0) { printf(\"DHT11_ReadBit Failed[1]!!\\\\\\\\r\\\\\\\\n\"); return 0; } } // 判断是0还是1? timeout = DHT11_TIMEOUT; while(DATA_GPIO_IN() && timeout--) { timeCount++; delay_us(1); // 等待1us if(timeout == 0) { printf(\"DHT11_ReadBit Failed[2]!!\\\\\\\\r\\\\\\\\n\"); return 0; // 失败 } } // 只要大于30us的高电平即可判断为数据1 if(timeCount >= 30) bit = 1; // 数据1 else bit = 0; // 数据0 return bit; } /****************************************************************** * 函 数 名 称:DHT11_Read_Data * 函 数 说 明:根据时序读取温湿度数据 * 函 数 形 参: * 函 数 返 回:0=数据校验失败其他=错误 * 作 者:LC * 备 注:无 ******************************************************************/ uint8_t DHT11_Read_Data(float *temperature, float *humidity) { int i; uint8_t data[5] = {0}; uint64_t val = 0; // 开始起始信号 DHT11_Start(); // 检查响应是否合规 if(0 == DHT11_CheckResponse()) { printf(\"DHT11_CheckResponse Failed!!\\\\\\\\r\\\\\\\\n\"); return 0; } // 数据读取核心(40-bit) for(i = 0; i < 40; i++) { val <<= 1; val |= DHT11_ReadBit(); } // 校验与数据提取 data[0] = (val >> 32) & 0xFF; // 湿度整数 data[1] = (val >> 24) & 0xFF; // 湿度小数 data[2] = (val >> 16) & 0xFF; // 温度整数 data[3] = (val >> 8)& 0xFF; // 温度小数 data[4] = val & 0xFF;// 校验和 #if DHT11_DEBUG printf(\"data[0] = %d\\\\\\\\r\\\\\\\\n\",data[0]); printf(\"data[1] = %d\\\\\\\\r\\\\\\\\n\",data[1]); printf(\"data[2] = %d\\\\\\\\r\\\\\\\\n\",data[2]); printf(\"data[3] = %d\\\\\\\\r\\\\\\\\n\",data[3]); printf(\"data[4] = %d\\\\\\\\r\\\\\\\\n\",data[4]); #endif // 校验计算:前4字节和 = 第5字节 if ((data[4] != (data[0] + data[1] + data[2] + data[3])) || (data[4] == 0)) { printf(\"CheckSum Failed!!!\\\\\\\\r\\\\\\\\n\"); return 0; // 校验失败 } // 保存温湿度 *humidity = data[0] + (data[1] * 0.1f);// 湿度(%) *temperature = data[2] + (data[3] * 0.1f);// 温度(℃) #if DHT11_DEBUG printf(\"T: %d\\\\\\\\r\\\\\\\\n\",(int)*temperature); printf(\"H: %d\\\\\\\\r\\\\\\\\n\",(int)*humidity); #endif return 1; } hal_entry.c 修改 .../src/hal_entry.c 主程序,代码如下 void hal_entry(void) { /* TODO: add your own code here */ err = R_SCI_UART_Open(&g_uart9_ctrl, &g_uart9_cfg); assert(FSP_SUCCESS == err); /* initialize DHT11 */ DHT11_Init(); /* 空读两次 */ DHT11_Read_Data(NULL, NULL); delay_1ms(1000); // 等待DHT11稳定 DHT11_Read_Data(NULL, NULL); delay_1ms(1000); // 等待DHT11稳定 printf(\"\\\\\\\\r\\\\\\\\n= = = = = = = = DHT11 Demo Start = = = = = = = = =\\\\\\\\r\\\\\\\\n\"); while(1){ float temperature = 0.0; float humidity = 0.0; if(DHT11_Read_Data(&temperature, &humidity)) { printf(\"Temperature = %.2f, Humidity = %.2f\\\\\\\\r\\\\\\\\n\", temperature, humidity); } else { printf(\"\\\\\\\\r\\\\\\\\nRead Error!!\\\\\\\\r\\\\\\\\n\"); } //printf(\"hello world!\\\\\\\\n\"); R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_04_PIN_02, BSP_IO_LEVEL_HIGH); R_BSP_SoftwareDelay (50, BSP_DELAY_UNITS_MILLISECONDS); R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_04_PIN_02, BSP_IO_LEVEL_LOW); R_BSP_SoftwareDelay (950, BSP_DELAY_UNITS_MILLISECONDS); } } 保存代码,编译工程并调试。 效果 JLINK CDC UART 接收端连接开发板串口发送端 P109; 运行串口调试助手,配置端口号、波特率等参数; 打开串口,即可接收温湿度数据; 每接收到一组数据,板载 LED 闪烁一次。 详见底部视频。 总结 本文介绍了瑞萨 RA6E2 地奇星开发板驱动 DHT11 传感器实现串口打印环境温湿度数据的项目设计,包括串口调试和配置、DHT11 驱动和串口输出等,为相关产品的快速开发和应用设计提供了参考。
    发表于 12-07 16:20

    德州仪器ADS1254:高精度24位ADC的全面解析

      在电子设计领域,高精度模拟 - 数字转换器(ADC)一直是许多测量和控制应用的核心组件。德州仪器(TI)的ADS1254就是这样一款备受关注的产品,它以其出色的性能和丰富的特性,在多个领域展现出强大的应用潜力。今天,我们就来深入剖析一下这款ADS1254 ADC。 文件下载: ads1254.pdf 一、ADS1254概述 ADS1254是一款具有24位分辨率的高精度、宽动态范围的Δ - Σ型ADC。它采用了Δ - Σ架构,确保了24位无丢失码的性能,在高达20kHz的数据速率下,有效分辨率可达
    的头像 发表于 12-07 16:16 473次阅读
    德州仪器ADS1254:高精度24位ADC的全面解析

    陕西移动携手华为打造SPN绿色智能综合承载网

    陕西移动携手华为打造面向AI WAN的SPN绿色智能综合承载网,以西安、榆林打造SPN/PTN两网融合样板点,引入AI节能提升网络效能,降低网络OPEX,保障存量业务的平滑迁移,高效接入雪亮工程、税务等价值客户,在面向AI WAN的SPN网络上实现降本、提效、增收。
    的头像 发表于 05-23 17:39 824次阅读

    PTN78020W 6A 宽输入电压可调开关稳压器数据手册

    PTN78020 是一系列高效、降压集成开关稳压器 (ISR),代表了工业用途高性能功率模块的第三代发展。宽输入电压范围使这些模块适用于使用 12 V、24 V 和 28 V 直流电源工作的各种
    的头像 发表于 04-23 11:00 648次阅读
    <b class='flag-5'>PTN</b>78020W 6A 宽输入电压可调开关稳压器数据手册

    PTN78020A 4 A, 宽输入, 非隔离, 宽负输出调节模块数据手册

    PTN78020A 是一系列高效降压-升压集成开关稳压器 (ISR),代表了专为工业用途而设计的高性能功率模块的第三代发展。宽输入电压范围使这些模块适用于使用 12 V、24 V 和严格调节的 28
    的头像 发表于 04-23 10:14 560次阅读
    <b class='flag-5'>PTN</b>78020A 4 A, 宽输入, 非隔离, 宽负输出调节模块数据手册

    PTN78000H 1.5 A、宽输入、宽输出调节模块数据手册

    PTN78000 是一系列高效、降压集成开关稳压器 (ISR),代表了广受欢迎的 78ST100 系列产品演变的第三代产品。在新设计中,应考虑用 78ST100、PT78ST100、PT5100
    的头像 发表于 04-23 09:56 618次阅读
    <b class='flag-5'>PTN</b>78000H 1.5 A、宽输入、宽输出调节模块数据手册

    PTN04050C 12W、3.3/5V 输入、宽调节输出升压转换器数据手册

    PTN04050C 是一款 4 引脚升压稳压器产品。在新设计中,应考虑用 PT5040 系列正升压产品代替 PT5040 系列。PTN04050C 比其前代产品更小、更轻,具有相似或改进的电气性能特征。无外壳双面封装还表现出更好的热特性,并且与 TI 的 RoHS 和无铅
    的头像 发表于 04-23 09:44 578次阅读
    <b class='flag-5'>PTN</b>04050C 12W、3.3/5V 输入、宽调节输出升压转换器数据手册

    是否可以将两个PTN3222GMJ设备背靠背连接以制作USB2中继器?

    是否可以将两个 PTN3222GMJ 设备背靠背连接以制作 USB2 中继器。 Connection 将如下所示: 如果这个背靠背中继器是可能的,它是否涉及任何配置或编程?
    发表于 03-28 08:08

    是否可以将PTN3222配置为Host-USB2到eUSB2主机?

    是否可以将PTN3222配置为 Host-USB2 到 eUSB2 主机? 换句话说,PTN3222可以将普通的 USB2 主机端口转换为 eUSB2 主机吗?
    发表于 03-27 06:09

    SN74ALVC164245封装中,DL、DGG性能一致吗?

    PTN78060W的封装有两种:EUW(R-PDSS-T7)和EUY(R-PDSS-B7)。两种封装性能上是一致的吧?两种封装市面上都容易买到?我考虑使用T7的封装,是穿孔的,印制板厚度2mm
    发表于 02-14 06:55

    复旦大学王永刚Angew:可降解的自由基聚合物锂电池正极材料

    论文简介 本论文报道了一种可降解的自由基聚合物正极材料(co-PTN),通过共聚2,3-二氢呋喃与含有TEMPO的降冰片烯衍生物合成。这种聚合物正极材料不仅具有电化学稳定性,还能在酸性条件下降解,其
    的头像 发表于 01-02 09:27 1098次阅读
    复旦大学王永刚Angew:可降解的自由基聚合物锂电池正极材料