发动态
TI CC430 系列超低功耗片上系统 (SoC) 器微控制搭载有集成射频收发器内核,并包含数个采用各种不同外设集的器件,可广泛应用于各种 应用。此架构经过优化,与五种低功耗模式相配合使用,可延长便携式测量应用中的电池 寿命。该器件具有功能强大的 MSP430 16 位 RISC CPU、16 位寄存器和有助于获得最大编码效率的常数发生器。CC430 系列器件将微控制器内核、外设、软件和射频收发器紧密集成在一起,从而使得这些真正的 SoC 解决方案方便易用,同时性能也得以提高。CC430F61xx 系列采用微控制器 SoC 配置,将先进的 CC1101 低于 1GHz 射频收发器的出色性能与MSP430 CPUXV2 相结合,提供高达 32KB 的系统内可编程闪存、高达 4KB 的 RAM、两个 16 位计时器、一个具有 8 个外部输入端以及 CC430F613x 器件上所设的多个内部温度和电池传感器的 12 位高性能ADC、一个比较器、USCI、一个 128 位 AES 安全加速器、一个硬件乘法器、一个 DMA、一个带报警功能的 RTC 模块、一个 LCD 驱动器,以及多达 44 个 I/O 引脚。CC430F513x 系列采用微控制器 SoC 配置,将先进的 CC1101 低于 1GHz 射频收发器的出色性能与MSP430 CPUXV2 相结合,提供高达 32KB 的系统内可编程闪存、高达 4KB 的 RAM、两个 16 位计时器、一个具有 6 个外部输入端以及多个内部温度和电池传感器的 12 位高性能 ADC、一个比较器、USCI、一个128 位 AES 安全加速器、一个硬件乘法器、一个 DMA、一个带报警功能的 RTC 模块、一个 LCD 驱动器,以及多达 30 个 I/O 引脚。CC430F6137, CC430F6135, CC430F6127, CC430F6126, CC430F6125CC430F5137, CC430F5135, CC430F51331特性• 用于低功耗无线通信应用的真正片上 系统 (SoC)• 宽电源电压范围:1.8V 至 3.6V• 超低功耗– CPU 激活模式 (AM):160µA/MHz– 待机模式(LPM3 实时时钟 (RTC) 模式):2.0µA– 关闭模式(LPM4 RAM 保持):1.0µA– RX 中的射频:15mA,250kbps,915MHz• MSP430™系统和外设– 16 位精简指令集 (RISC) 架构、扩展内存、高达20MHz 的系统时钟– 可在不到 6μs 的时间内从待机模式唤醒– 具有 SVS 和欠压复位功能的灵活电源管理解决方案– 配有的锁频环 (FLL) 的统一系统时钟– 配有 5 个捕捉/比较寄存器的 16 位定时器TA0,Timer_A– 具有 3 个捕捉/比较寄存器的 16 位定时器TA1,Timer_A– 硬件实时时钟 (RTC)– 两个通用串行通信接口 (USCI)– USCI_A0 支持 UART、IrDA 和 SPI– USCI_B0 支持 I2C 和 SPI– 具有内部基准、采样保持以及自动扫描特性的 12位模数 转换器 (ADC) (仅限 CC430F613x 和CC430F513x)– 比较器– 具有高达 96 段对比度控制的集成 LCD 驱动器(仅限 CC430F61xx)– 128 位高级加密标准 (AES) 安全加密和解密协处理器– 32 位硬件乘法器– 3 通道内部 DMA– 串行板上编程,无需外部编程电压– 内嵌式仿真模块 (EEM)• 高性能低于 1GHz 射频收发器内核– 与 CC1101 中的内核一致– 宽电源电压范围:2V 至 3.6V– 频带范围:300MHz 至 348MHz,389MHz 至464MHz,和 779MHz 至 928MHz– 从 0.6 千波特率 (kbaud) 至 500 kbaud 间的可编程数据传输速率– 高灵敏度(0.6kBaud 时为 –117dBm,1.2kBaud时为 –111dBm,315MHz,1% 的误包率)– 出色的接收器可选择性和阻断性能– 对于所有支持的频率,可编程输出功率高达+12dBm– 支持 2-FSK、2-GFSK 和 MSK,以及 OOK 和灵活的 ASK 整形– 针对面向数据包系统的灵活支持:用于同步字检测、地址检查、灵活数据包长度、和自动循环冗余校验码处理的片载支持– 支持传输前的自动空闲信道评估 (CCA)(针对对话前监听系统)– 接收到的信号强度指示器 (RSSI) 数字输出– 适合于符合 EN 300 220(欧洲)和 FCC CFR部分 15(美国)标准的系统– 适用于需要满足无线 M-Bus 标准 EN13757‑4:2005 的系统– 支持异步和同步串行接收或传输模式,以向后兼容现有无线电通信协议• 器件比较 汇总了可用的产品系列成员2 应用• 无线模拟和数字传感器系统• 热量分配表• 恒温器• AMR 或 AMI 计量• 智能电网无线网络同系列常销型号如下:有需要callCC1310F128RGZRCC1120RHBRCC1312R1F3RGZRCC1352R1F3RGZRCC2640R2FRSMRCC430F5137IRGZR
CC430F5137IRGZR数据手册一款低功耗射频无线收发 SoC芯片内核MSP430
前言你是否察觉到自己随手写的异步函数,实际却是“同步”的效果!正文以一个需求为例:获取给定目录下的全部文件,返回所有文件的路径数组。第一版思路很简单:读取目录内容,如果是文件,添加进结果数组,如果还是目录,我们递归执行。import path from 'node:path' import fs from 'node:fs/promises' import { existsSync } from 'node:fs' async function findFiles(root) { if (!existsSync(root)) return const rootStat = await fs.stat(root) if (rootStat.isFile()) return [root] const result = [] const find = async (dir) => { const files = await fs.readdir(dir) for (let file of files) { file = path.resolve(dir, file) const stat = await fs.stat(file) if (stat.isFile()) { result.push(file) } else if (stat.isDirectory()) { await find(file) } } } await find(root) return result } 机智的你是否已经发现了问题?我们递归查询子目录的过程是不需要等待上一个结果的,但是第 20 行代码,只有查询完一个子目录之后才会查询下一个,显然让并发的异步,变成了顺序的“同步”执行。那我们去掉 20 行的 await 是不是就可以了,当然不行,这样的话 await find(root) 在没有完全遍历目录之前就会立刻返回,我们无法拿到正确的结果。思考一下,怎么修改它呢?......让我们看第二版代码。<​当前缺个机会,缺份工作,想靠大厂外包过渡下的兄弟姐妹们可以一起来共事,前、后端/测试年前捞人,待遇给的还可以。感兴趣可以来>第二版import path from 'node:path' import fs from 'node:fs/promises' import { existsSync } from 'node:fs' async function findFiles(root) { if (!existsSync(root)) return const rootStat = await fs.stat(root) if (rootStat.isFile()) return [root] const result = [] const find = async (dir) => { const task = (await fs.readdir(dir)).map(async (file) => { file = path.resolve(dir, file) const stat = await fs.stat(file) if (stat.isFile()) { result.push(file) } else if (stat.isDirectory()) { await find(file) } }) return Promise.all(task) } await find(root) return result } 我们把每个子目录内容的查询作为独立的任务,扔给 Promise.all 执行,就是这个简单的改动,性能得到了质的提升,让我们看看测试,究竟能差多少。对比测试console.time('v1') const files1 = await findFiles1('D:\\Videos') console.timeEnd('v1') console.time('v2') const files2 = await findFiles2('D:\\Videos') console.timeEnd('v2') console.log(files1?.length, files2?.length) 版本二快了三倍不止,如果是并发的接口请求被不小心搞成了顺序执行,差距比这还要夸张。——转载自作者:justorez
async/await 你可能正在将异步写成同步
1. 背景 非常有幸参与立创商城举办的测评活动,瑞萨电子作为全球领先的微控制器供应商,推出了基于 Arm Cortex-M23 内核的 RA0E1 系列微控制器,以其高性能、低功耗、高性价比等优势,在智能家居、工业控制、消费电子等领域展现出广阔的应用前景。手头正好有一个雷达模块,想着正好做一个监测是否有人的小玩意。 2. 方法说明 通过串口将开发板与雷达模块连接,在有物体活动时,雷达模块就会发送串口数据,开发板在接收到串口数据后就会点亮板载的LED灯,如果8s内没有物体活动,LED灯熄灭。 3. 系统框图 4. 代码介绍 void hal_entry(void) { /* TODO: add your own code here */ R_TAU_Open(&g_timer0_ctrl, &g_timer0_cfg); R_TAU_Start(&g_timer0_ctrl); R_SAU_UART_Open(&g_uart0_ctrl,&g_uart0_cfg); #if BSP_TZ_SECURE_BUILD /* Enter non-secure code */ R_BSP_NonSecureEnter(); #endif } unsigned int count; void g_timer0_callback(timer_callback_args_t * p_args) { count++; if(count>=8000) { R_IOPORT_PinWrite(&IOPORT_CFG_CTRL,BSP_IO_PORT_01_PIN_12,0); count = 0; } } void uart0_callback(uart_callback_args_t * p_args) { R_TAU_Reset(&g_timer0_ctrl); count = 0; R_IOPORT_PinWrite(&IOPORT_CFG_CTRL,BSP_IO_PORT_01_PIN_12,1); } void hal_entry(void) { /* TODO: add your own code here */ R_TAU_Open(&g_timer0_ctrl, &g_timer0_cfg); R_TAU_Start(&g_timer0_ctrl); R_SAU_UART_Open(&g_uart0_ctrl,&g_uart0_cfg); #if BSP_TZ_SECURE_BUILD /* Enter non-secure code */ R_BSP_NonSecureEnter(); #endif } unsigned int count; void g_timer0_callback(timer_callback_args_t * p_args) { count++; if(count>=8000) { R_IOPORT_PinWrite(&IOPORT_CFG_CTRL,BSP_IO_PORT_01_PIN_12,0); count = 0; } } void uart0_callback(uart_callback_args_t * p_args) { R_TAU_Reset(&g_timer0_ctrl); count = 0; R_IOPORT_PinWrite(&IOPORT_CFG_CTRL,BSP_IO_PORT_01_PIN_12,1); } 代码比较简单,在主函数中,初始化串口和定时器,在1ms的定时器中断中计数,当计数值超过8000,即延时8s后,清空计数值并关闭LED灯。在串口中断中,初始化定时器、清空计数值并打开LED灯。 5. 结果 在有物体活动时,led就会亮。 6. 演示 8566768253591031808 7 心得 在本次测评中,我利用 RA0E1 开发板实现了一个简单的雷达人体感应功能。通过串口与雷达模块通信,开发板能够实时检测人体活动,并控制 LED 灯的状态。整个系统运行稳定,响应迅速,通过立创dap调试工具可以观察到开发板正常工作时的电流仅为4.5ma左右,充分体现了 RA0E1 系列微控制器的高性能和低功耗优势。
瑞萨RA0E1开发板评测报告+雷达监测
在科技日新月异的当下,各类电子设备,如智能手机、平板电脑、智能手表和无线耳机等,已成为我们生活不可或缺的部分,随之而来的是更多的充电需求。传统单一充电口难以满足现代人对便捷与效率的追求,Type-C 多口适配器便应运而生。Type-C 多口适配器具有多个 Type-C 充电接口,可同时连接和充电多个设备,提高了充电便捷性与效率,还让充电设备更轻便易携带。其采用最新快充技术,支持 USB Power Delivery(USB PD)协议,充电功率高达 100W,能快速为设备补充电量。内置智能充电管理系统,可自动识别设备充电需求,依设备类型和电池状态调整输出电流,保障充电稳定安全,既保护设备电池健康,又提高充电效率。兼容性强,支持多种充电协议,能兼容市面上大部分电子设备。除充电功能外,还具备数据传输、视频输出和音频传输等多种功能,可作数据传输线,实现设备间文件传输和同步,也能扩展为多种音视频输出接口,满足高清音视频传输需求。在家庭中能解决多设备同时充电难题,让充电更便捷高效;在办公环境中,可满足员工对电子设备充电和数据传输需求,提高工作效率,其轻便易携带的特点也适合出差和旅行。未来,随着电子设备的普及和多样化,Type-C 多口适配器市场需求将不断增长,它会继续优化性能、提升品质,满足用户对高效、便捷、安全的充电和连接需求。同时,Type-C 接口也在不断进步,将支持更高的数据传输速度、更多功能和更广泛的设备兼容性,使 Type-C 多口适配器在连接设备方面发挥更重要作用。总之,Type-C 多口适配器以其高效、便捷、安全的特点,备受用户青睐,为我们的数字生活带来诸多便利。
Type-C多口适配器解决方案
社区数据
今日帖子
-
今日互动量
-
在线人数
-
帖子总量
-
用户总量
-
推荐话题 换一批
#创享2025#
#DIY设计#
#嘉立创PCB#
#嘉立创18周年庆,赢金豆兑壕礼#
#畅聊专区#
#幕后硬汉#
#嘉立创#
#嘉立创免费3D打印#
查看更多热门话题
打赏记录
粤公网安备44030002004666号 · 粤ICP备2023121300号 · 用户协议 · 隐私政策 · 侵权举报 · ISO/IEC · Copyright © 2024 嘉立创社区版权所有
服务热线:18682363881 ·  服务时间:周一至周六 9::00-18:00 · 联系地址:中国·深圳(福田区商报路奥林匹克大厦27楼) · 媒体沟通:pr@jlc.com · 集团介绍