社区首页
技术讨论创新帖
全部新帖
资料区
社区活动
联系管理员
★ 社区积分制度
★ 新手必读
★ 申请版主★
请
登录
后使用快捷导航
没有帐号?
注册
首页
|
电子技术
|
嵌入式
模拟电子
单片机
电源管理
传感器
半导体
电子应用
|
工业控制
物联网
汽车电子
网络通信
医疗电子
手机便携
测试测量
安防电子
家用电子
机器人
新能源
电子头条
|
社区
|
论坛
测评
博客
大学堂
|
下载
|
下载中心
电路图
精品文集
电路图
|
参考设计
|
Datasheet
|
活动
|
直播
datasheet
datasheet
文章
搜索
登录
注册
中文
En
论坛
切换旧版
电子工程世界-论坛
»
论坛
›
电子技术交流
›
国产芯片交流
›
全志R128 SDK HAL 模块开发指南——GPIO
返回列表
发新帖
回复
阅
554
|
回
0
aleksib
当前离线
纯净的硅(中级)
最后登录
2025-1-6
在线时间
40 小时
威望
998分
芯积分
511分
(兑换)
E金币
0枚
(兑换)
(兑换)
好友
0
aleksib
287
帖子
0
TA的资源
纯净的硅(中级)
+ 好友
私信
楼主
发表于2024-3-28 09:52
只看该作者
全志R128 SDK HAL 模块开发指南——GPIO
[复制链接]
# GPIO ## 模块介绍 整个 GPIO 控制器由数字部分(GPIO 和外设接口)以及 IO 模拟部分(输出缓冲,双下拉,引脚Pad)组成。其中数字部分的输出可以通过 MUX 开关选择,模拟部分可以用来配置上下拉,驱动能力以及引脚输出电压等等。具体的规格如下: - 可以在软件上配置各个引脚的状态 - 每个引脚都可以触发中断 - 可以配置 上拉/下拉/无上下拉 三种状态 - 每个引脚都可以配置 4 种驱动能力 - 可以配置边缘中断触发 - 最高 99 个中断 ## 模块配置 其 menuconfig 的配置如下: ``` Kernel Setup ---> Drivers Setup ---> SoC HAL Drivers ---> GPIO devices ---> [*] enable GPIO driver [*] enbale GPIO hal APIs Test command ``` ## 源码结构 GPIO 模块源码结构如下所示: ``` rtos-hal/source/gpio/ │-- gpio.h # 模块内部公共头文件 │-- hal_gpio.c # 公共操作接口 ├─sun20iw2 # sun20iw2 平台的实现 │---- gpio-sun20iw2.c# GPIO具体实现 │---- platform-gpio.h# 实现头文件 include/hal/ # 驱动APIs声明头文件 └── hal_gpio.h ``` - `platform-gpio.h` 主要包含 GPIO 控制器基地址、GPIO 中断号、pin 的声明等信息 - `gpio-sun20iw2.c` 主要包含每个平台的 GPIO 描述符配置 ## 模块接口说明 ### 数据结构 由于 GPIO 需要配置每个引脚的引脚复用功能,中断类型,驱动能力,上下拉,输出/输入数据,输入/输出方向等等,所以对 GPIO 的这些配置都封装在一个 enum 枚举结构里面,方便使用。下面是一些配置的定义。想要了解更多的可以到 hal_gpio.h 查看 ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/8ae331170f6c4379902b149a47e704a4.png#pic_center) #### 引脚定义 gpio_pin_t 该枚举定义了可用的每个引脚定义,在配置引脚的时候将相关参数传入则可,具体定义如下: ```c typedef enum { GPIO_PC0 = GPIOC(0), GPIO_PC1 = GPIOC(1), GPIO_PC2 = GPIOC(2), GPIO_PC3 = GPIOC(3), ... GPIO_PL0 = GPIOL(0), GPIO_PL1 = GPIOL(1), GPIO_PL2 = GPIOL(2), GPIO_PL3 = GPIOL(3), GPIO_PL4 = GPIOL(4), GPIO_PL5 = GPIOL(5), } gpio_pin_t; ``` #### 引脚驱动能力 gpio_driving_level_t 该枚举定义了引脚的驱动能力的值,具体定义如下: ```c typedef enum { GPIO_DRIVING_LEVEL0 = 0, /**< Defines GPIO driving current as level0. */ GPIO_DRIVING_LEVEL1 = 1, /**< Defines GPIO driving current as level1. */ GPIO_DRIVING_LEVEL2 = 2, /**< Defines GPIO driving current as level2. */ GPIO_DRIVING_LEVEL3 = 3/**< Defines GPIO driving current as level3. */ } gpio_driving_level_t; ``` #### 引脚上下拉 gpio_pull_status_t 该枚举定义了引脚的上下拉的值,具体定义如下: ```c typedef enum { GPIO_PULL_DOWN_DISABLED = 0, /**< Defines GPIO pull up and pull down disable.*/ GPIO_PULL_UP = 1, /**< Defines GPIO is pull up state. */ GPIO_PULL_DOWN = 2, /**< Defines GPIO is pull down state. */ } gpio_pull_status_t; ``` #### 引脚数据 gpio_data_t 该枚举定义引脚的输入输出数据,具体定义如下: ```c typedef enum { GPIO_DATA_LOW = 0, /**< GPIO data low. */ GPIO_DATA_HIGH = 1 /**< GPIO data high. */ } gpio_data_t; ``` #### 引脚电压能力 gpio_power_mode_t 该枚举定义了引脚的电压模式,可以配置成 1.8V 和 3.3V,具体定义如下 ```c typedef enum { POWER_MODE_330 = 0, POWER_MODE_180 = 1 } gpio_power_mode_t; ``` #### 中断模式 gpio_interrupt_mode_t 该枚举定义了引脚的中断模式,具体定义如下: ```c typedef enum { IRQ_TYPE_NONE = 0x00000000, IRQ_TYPE_EDGE_RISING = 0x00000001, IRQ_TYPE_EDGE_FALLING = 0x00000002, IRQ_TYPE_EDGE_BOTH = (IRQ_TYPE_EDGE_FALLING | IRQ_TYPE_EDGE_RISING), IRQ_TYPE_LEVEL_HIGH = 0x00000004, IRQ_TYPE_LEVEL_LOW = 0x00000008, } gpio_interrupt_mode_t; ``` ### GPIO 驱动初始化 函数原型: ```c int hal_gpio_init(void); ``` 参数: - 无 返回值 - true:合法 - false:非法 ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/263374a70f67470b9db24521391fed65.png#pic_center) ### 判断 GPIO 的合法性 函数原型: ```c bool hal_gpio_check_valid(gpio_pin_t pin); ``` 参数: - pin:id 返回值 - true:合法 - false:非法 ### 获取指定 GPIO 的电平状态 函数原型: ```c int hal_gpio_get_data(gpio_pin_t pin, gpio_data_t *data); ``` 参数: - pin:pin id - data:存放数据的指针变量 返回值 - -1:失败 - 0:成功 ### 设置指定 GPIO 的电平状态 函数原型: ```c int hal_gpio_set_data(gpio_pin_t pin, gpio_data_t data); ``` 参数: - pin:pin id - 需设置的电平高低 返回值 - -1:失败 - 0:成功 ### 设置指定 GPIO 的 IO 模式 函数原型: ```c int hal_gpio_set_direction(gpio_pin_t pin, gpio_direction_t direction); ``` 参数: - pin:pin id - direction:需设置的 IO 模式 返回值 - -1:失败 - 0:成功 ### 获取指定 GPIO 的 IO 模式 函数原型: ```c int hal_gpio_get_direction(gpio_pin_t pin, gpio_direction_t *direction); ``` 参数: - pin:pin id - direction:存放IO的指针变量 返回值 - -1:失败 - 0:成功 ### 设置指定 GPIO 的上下拉状态 函数原型: ```c int hal_gpio_set_pull(gpio_pin_t pin, gpio_pull_status_t pull); ``` 参数: - pin:pin id - pull:需设置的上下拉状态 返回值 - -1:失败 - 0:成功 ### 获取指定 GPIO 的上下拉状态 函数原型: ```c int hal_gpio_get_pull(gpio_pin_t pin, gpio_pull_status_t *pull); ``` 参数: - pin:pin id - pull:存放上下拉状态的指针变量 返回值 - -1:失败 - 0:成功 ### 设置指定 GPIO 的驱动能力 函数原型: ```c int hal_gpio_set_driving_level(gpio_pin_t pin, gpio_driving_level_t level); ``` 参数: - pin:pin id - level:需设置的驱动能力 返回值 - -1:失败 - 0:成功 ### 获取指定 GPIO 的驱动能力 函数原型: ```c int hal_gpio_get_driving_level(gpio_pin_t pin, gpio_driving_level_t *level); ``` 参数: - pin:pin id - level:存放驱动能力的指针变量 返回值 - -1:失败 - 0:成功 ### 设置指定 GPIO 的复用功能 函数原型: ```c int hal_gpio_pinmux_set_function(gpio_pin_t pin, gpio_muxsel_t function_index); ``` 参数: - pin:pin id - function_index:需设置的复用功能 返回值 - -1:失败 - 0:成功 ### 获取指定 GPIO 的复用功能 函数原型: ```c int hal_gpio_pinmux_get_function(gpio_pin_t pin, gpio_muxsel_t *function_index); ``` 参数: - pin:pin id - function_index:需设置的复用功能的指针变量 返回值 - -1:失败 - 0:成功 ### 设置指定 GPIO 组的电压模式 函数原型: ```c int hal_gpio_sel_vol_mode(gpio_pin_t pins, gpio_power_mode_t pm_sel); ``` 参数: - pin:pin id - pm_sel:需设置的电压模式 返回值 - -1:失败 - 0:成功 ### 设置指定 GPIO 组的中断采样频率 函数原型: ```c int hal_gpio_set_debounce(gpio_pin_t pin, unsigned value); ``` 参数: - pin:pin id - value:需设置的值(bit0-clock select; bit6:4-clock pre-scale) 返回值 - -1:失败 - 0:成功 ### 获取指定 GPIO 的 IRQ 中断号 函数原型: ```c int hal_gpio_to_irq(gpio_pin_t pin, uint32_t *irq); ``` 参数: - pin:pin id - irq:存放中断号的指针变量 返回值 - -1:失败 - 0:成功 ### GPIO 中断申请 函数原型: ```c int hal_gpio_irq_request(uint32_t irq, hal_irq_handler_t hdle, unsigned long flags, void *data); ``` 参数: - irq:中断号 - hdle:中断处理函数 - flag:中断触发模式 - data:数据指针 返回值 - -1:失败 - 0:成功 ### GPIO 中断释放 函数原型: ```c int hal_gpio_irq_free(uint32_t irq); ``` 参数: - irq:中断号 返回值 - -1:失败 - 0:成功 ### 使能 GPIO 中断 函数原型: ```c int hal_gpio_irq_enable(uint32_t irq); ``` 参数: - irq:中断号 返回值 - -1:失败 - 0:成功 ### 关闭 GPIO 中断 函数原型: ```c int hal_gpio_irq_disable(uint32_t irq); ``` 参数: - irq:中断号 返回值 - -1:失败 - 0:成功 ## 模块使用范例 ```c #include
#include
#include
#include
#include
#include
#define GPIO_TEST GPIO_PA1 // 待测试的 GPIO #define GPIO_PORT_MAX (8) static int pins_number[GPIO_PORT_MAX] = { 22, /* PA pins num */ 12, /* PC pins num */ 23, /* PD pins num */ 18, /* PE pins num */ 7,/* PF pins num */ 8,/* PG pins num */ 16, /* PH pins num */ 5,/* PI pins num */ }; static void cmd_usage(void) { printf("Usage:\n" "\t hal_gpio_cmd
\n"); } enum { GPIO_CMD_SET_VOL = 0, }; static hal_irqreturn_t gpio_irq_test(void *data) { hal_log_info("fake gpio interrupt handler"); return 0; } int cmd_test_gpio(int argc, char **argv) { uint32_t irq; int ret = 0; gpio_pull_status_t pull_state; gpio_direction_t gpio_direction; gpio_data_t gpio_data; gpio_muxsel_t function_index; hal_gpio_get_pull(GPIO_TEST, &pull_state); hal_gpio_get_direction(GPIO_TEST, &gpio_direction); hal_gpio_get_data(GPIO_TEST, &gpio_data); hal_gpio_pinmux_get_function(GPIO_TEST,&function_index); hal_log_info("Original: pin: %d pull state: %d, dir: %d, data: 0x%0x, function_index: %d", GPIO_TEST, pull_state, gpio_direction, gpio_data, function_index); hal_log_info("Setting: pin: %d pull state: %d, dir: %d, data: 0x%x, function_index: %d", GPIO_TEST, GPIO_PULL_UP, GPIO_DIRECTION_OUTPUT, GPIO_DATA_HIGH, GPIO_MUXSEL_OUT); hal_gpio_set_pull(GPIO_TEST, GPIO_PULL_UP); hal_gpio_set_direction(GPIO_TEST, GPIO_DIRECTION_OUTPUT); hal_gpio_set_data(GPIO_TEST, GPIO_DATA_HIGH); hal_gpio_pinmux_set_function(GPIO_TEST,GPIO_MUXSEL_OUT); hal_gpio_get_pull(GPIO_TEST, &pull_state); hal_gpio_get_direction(GPIO_TEST, &gpio_direction); hal_gpio_get_data(GPIO_TEST, &gpio_data); hal_gpio_pinmux_get_function(GPIO_TEST,&function_index); hal_log_info("Results: pin: %d pull state: %d, dir: %d, data: 0x%0x, function_index: %d", GPIO_TEST, pull_state, gpio_direction, gpio_data, function_index); if (pull_state == GPIO_PULL_UP && gpio_direction == GPIO_DIRECTION_OUTPUT && gpio_data == GPIO_DATA_HIGH && function_index == GPIO_MUXSEL_OUT) { hal_log_info("Test hal_gpio_set_pull API success!"); hal_log_info("Test hal_gpio_set_direction API success!"); hal_log_info("Test hal_gpio_set_data API success!"); hal_log_info("Test hal_gpio_pinmux_set_function API success!"); hal_log_info("Test hal_gpio_get_pull API success!"); hal_log_info("Test hal_gpio_get_direction API success!"); hal_log_info("Test hal_gpio_get_data API success!"); hal_log_info("Test hal_gpio_pinmux_get_function API success!"); } else { hal_log_err("Test API fail"); goto failed; } ret = hal_gpio_to_irq(GPIO_TEST, &irq); if (ret < 0) { hal_log_err("gpio to irq error, irq num:%d error num: %d", irq, ret); goto failed; } else { hal_log_info("Test hal_gpio_to_irq API success!"); } ret = hal_gpio_irq_request(irq, gpio_irq_test, IRQ_TYPE_EDGE_RISING, NULL); if (ret < 0) { hal_log_err("request irq error, irq num:%d error num: %d", irq, ret); goto failed; } else { hal_log_info("Test hal_gpio_irq_request API success!"); } ret = hal_gpio_irq_enable(irq); if (ret < 0) { hal_log_err("request irq error, error num: %d", ret); goto failed; } else { hal_log_info("Test hal_gpio_irq_enable API success!"); } ret = hal_gpio_irq_disable(irq); if (ret < 0) { hal_log_err("disable irq error, irq num:%d, error num: %d", irq, ret); goto failed; } else { hal_log_info("Test hal_gpio_irq_disable API success!"); } ret = hal_gpio_irq_free(irq); if (ret < 0) { hal_log_err("free irq error, error num: %d", ret); goto failed; } else { hal_log_info("Test hal_gpio_irq_free API success!"); } hal_log_info("Test gpio hal APIs success!"); return 0; failed: hal_log_err("Test gpio hal APIs failed!"); return -1; } int cmd_test_gpio_all(int argc, char **argv) { int i = 0; int j =0; int cnt = 0; int ret = 0; uint32_t irq; gpio_pin_t pin; gpio_pull_status_t pull_state; gpio_direction_t gpio_direction; gpio_data_t gpio_data; hal_log_info("The program will test all gpio hal APIs ...\n"); for(i = 0; i < GPIO_PORT_MAX; i++) { for(j = 0; j < pins_number[i]; j++) { switch(i) { case 0: pin = GPIOA(j); break; case 1: pin = GPIOC(j); break; case 2: pin = GPIOD(j); break; case 3: pin = GPIOE(j); break; case 4: pin = GPIOF(j); break; case 5: pin = GPIOG(j); break; case 6: pin = GPIOH(j); break; case 7: pin = GPIOI(j); break; default: break; } hal_log_info("Setting: pull state: %d, dir: %d, data: 0x%x, pin: %d", GPIO_PULL_DOWN, GPIO_DIRECTION_INPUT, GPIO_DATA_LOW, pin); hal_gpio_set_pull(pin, GPIO_PULL_DOWN); hal_gpio_set_direction(pin, GPIO_DIRECTION_INPUT); hal_gpio_set_data(pin, GPIO_DATA_LOW); hal_gpio_get_pull(pin, &pull_state); hal_gpio_get_direction(pin, &gpio_direction); hal_gpio_get_data(pin, &gpio_data); hal_log_info("Results: pull state: %d, dir: %d, data: 0x%0x", pull_state, gpio_direction, gpio_data); if(pull_state != GPIO_PULL_DOWN || gpio_direction != GPIO_DIRECTION_INPUT || gpio_data != GPIO_DATA_LOW) goto failed; ret = hal_gpio_to_irq(pin, &irq); if(ret < 0) goto failed; ret = hal_gpio_irq_request(irq, gpio_irq_test, IRQ_TYPE_EDGE_FALLING, NULL); if(ret < 0) goto failed; ret = hal_gpio_irq_enable(irq); if(ret < 0) goto failed; ret = hal_gpio_irq_disable(irq); if(ret < 0) goto failed; ret = hal_gpio_irq_free(irq); if(ret < 0) goto failed; cnt++; hal_log_info("Test-%d: gpio pin %d hal success!\n", cnt, pin); } } hal_log_info("Test all gpio hal APIs success, cnt: %d!", cnt); return 0; failed: hal_log_err("Test all gpio hal APIs failed!"); return -1; } int cmd_test_gpio_cmd(int argc, char **argv) { int cmd, gpio, arg; if (argc != 4) cmd_usage(); cmd = strtol(argv[1], NULL, 0); gpio = strtol(argv[2], NULL, 0); arg = strtol(argv[3], NULL, 0); switch (cmd) { case GPIO_CMD_SET_VOL: hal_gpio_sel_vol_mode(gpio, arg); break; default: break; } return 0; } FINSH_FUNCTION_EXPORT_ALIAS(cmd_test_gpio, hal_gpio, gpio hal APIs tests); FINSH_FUNCTION_EXPORT_ALIAS(cmd_test_gpio_cmd, hal_gpio_cmd, gpio hal APIs tests with cmd); FINSH_FUNCTION_EXPORT_ALIAS(cmd_test_gpio_all, hal_gpio_all, gpio hal all APIs tests); ```
此帖出自
国产芯片交流论坛
点赞
关注
(0)
回复
分享
扫一扫,分享给好友
复制链接分享
链接复制成功,分享给好友
举报
提升卡
变色卡
千斤顶
返回列表
发新帖
回复
您需要登录后才可以回帖
登录
|
注册
发表回复
回帖后跳转到最后一页
活动
更多>>
Microchip 直播|多相降压电源控制技术的发展与探讨 报名中!
安世半导体智能工业应用探索站,闯关赢好礼!
PI 电源小课堂:集成式半桥驱动IC BridgeSwitch 2, 助力高效永磁同步电机逆变器的设计
Microchip喊你探索dsPIC33A 芯片,70份好礼等你赢!
【瓜分2500元红包】票选2024 DigiKey “感知万物,乐享生活”创意大赛人气作品TOP3!
DigiKey应用探索站重磅上线!潮流应用,硬核技术探秘,N多干货,一站get!
验证并选择心仪MOSFET,探寻选型奥秘!注册、体验双重好礼等你拿~
免费申请测评 | 泰坦触觉 TITAN Core开发套件
开源项目
更多>>
sc8815a测试 已验证
使用 Analog Devices 的 LT3663EDCB-5 的参考设计
LED拟辉光管
LT1086CT-12 电池后备稳压电源的典型应用
双热插拔控制器为高级 TCA、TCA 和 AMC 应用带来数字监控
管爷f435MINI改国产bec(未验证)
使用 Microchip Technology 的 AT90S8535-8AC 的参考设计
使用 ROHM Semiconductor 的 BD4933 的参考设计
BTS 118D智能低边电源开关典型应用电路
LTC3826-1 的典型应用 - 30 uA IQ、双通道、2 相同步降压型控制器
随便看看
大规模语言模型从理论到实践第一章绪论
#大规模语言模型#基本概念#发展历程#构建流程#内容安排大语言模型是一种由包含数百亿个及以上参数的深度神经网络构建的语言模型,通常使用自监督学习方法通过大量无标注文本进行训练。2018年以来,Google、OpenAI、Meta、百度、华为等公司和研究机构相继发布了 ...
IntraWeb_v7.0.11
USBCamera 摄像头 拍照采集程序
咸鱼低价无线数字麦克风拆机(杰里方案)
求助,UART1用不了【已解决】
【Perf-V评测】+蜂鸟软核的固化
请问,WINCE注册表[HKEY_LOCAL_MACHINE\Drivers\BuiltIn]下的DLL都会被设备管理器加载吗?
初学c51,xdata的相关问题.
查找数据手册?
搜索
EEWorld Datasheet 技术支持
热门标签
源代码
单片机
放大器
TI
ST
电源
分立器件
传感器
测试测量
模拟
模拟电子技术基础第四版pdf
程控测试电源
视频采集卡
开关损耗
PLC控制柜
传导干扰
元宇宙
卡诺图
OpenBCI
RTU
相关文章
更多>>
苹果M4 Mac mini曝出USB-C接口问题!随机间歇性断开连接
1月17日消息,苹果M4 Mac mini自2024年底发布以来,收获了不少好评,然而近期一些用户在使用过程中发现,该设备的USB-C接口似乎存在连接性问题,给使用带来了不便。 有用户反映M4 Ma
消息称 SK 海力士有望 2 月启动业界最先进 1c nm 制程 DRAM 内存量产
1 月 17 日消息,韩媒 MT(IT之家注:全称 MoneyToday)当地时间今日报道称,SK 海力士近日已成功完成内存业界最先进 1c 纳米制程 DRAM 的批量产品认证,连续多个以 25 块
未经同意出售用户数据,通用汽车遭美国 FTC 处罚
1 月 17 日消息,当地时间周四,美国联邦贸易委员会(FTC)宣布通用汽车及其子公司 OnStar 因未经用户同意出售用户位置和驾驶行为数据,因此将对其进行处罚,包括在五年内禁止向消费者报告机构披
日本三井住友银行推出半导体设备抵押贷款,铠侠已率先获益
联想宣布收购Infinidat,扩充高端企业存储业务
台积电董事长:我们不是美积电 最先进制程不会搬到美国
曝台积电拒绝代工三星Exynos处理器:理由是怕泄密
SK 海力士被曝上半年削减 10% NAND 闪存产量
苹果加入UALink联盟 成员含AMD、英特尔、谷歌等公司
英特尔宣布将逐渐停产第 12 代 Alder Lake 移动处理器,覆盖酷睿、奔腾及赛扬
新帖速递
STM32和无源蜂鸣器播放声音的问题
车规级AECQ200介绍,混合铝电解电容器的选择
嵌入式教程_DSP技术_DSP实验箱操作教程:2-28 搭建轻量级WEB服务器实验
OPA847IDBVR运放器国产替代
AG32VF407测试UART
【得捷电子Follow Me第二期】第一章 收到货物的分享
请问这个红外接收头是什么型号?能用哪个型号代替?谢谢
出售全新未拆封ZYNQ 7Z020 FPGA核心板
用在锂电池供电的水表设置上的LORA模块,当有100块水表集中安装在一个楼道内时,节能
请问一下,当某个端口被设置为 RX0后,这个端口的输入输出方向还有必要设置吗
今年怎么这么难,比疫情时还难,三十了面临失业好迷茫
请教稳压管测试问题
【小华HC32F448测评】关于小华半导体的UART中断发送和PRINTF构造和重定向
【BIGTREETECH PI开发板】 HDMI输出测试
【BIGTREETECH PI开发板】+08.音频测试(zmj)
安世半导体智能工业应用探索站,闯关赢好礼!
点击页面内“开始探索”按钮,填写并提交表单;
请根据序号依次完成3个安世半导体智能工业应用的探索,并根据给出的资料完成共计9题(每个应用3题),答对5题以上的玩家即可获得抽奖资格;
每人仅有一次参与答题的机会,请慎重作答,活动结束后,我们将抽取30位玩家赠送礼品。
查看 »
Microchip 直播|多相降压电源控制技术的发展与探讨 报名中!
直播主题:多相降压电源控制技术的发展与探讨
直播时间:2025年2月25日(星期二)上午10:30-11:30
快来报名!
查看 »
回帖赢好礼 | 关于无线技术的那些事儿
【活动时间】即日起—2025年1月31日
【活动好礼】50元京东卡
查看 »
答题赢好礼,PI电源小课堂第3期来啦!
本期内容:集成式半桥驱动IC BridgeSwitch 2, 助力高效永磁同步电机逆变器的设计
活动时间:即日起-2月28日
看视频答题即可赢取京东卡!
查看 »
Microchip喊你探索 dsPIC33A 芯片,70份好礼等你赢!
活动时间:即日起-1月26日
活动奖励:随身Wi-Fi、家用多功能电烤箱、20000mAh充电宝、50元京东卡
查看 »
DigiKey应用探索站重磅上线!潮流应用,硬核技术探秘,N多干货,一站get!
当月好物、热门技术资源、潮流应用技术、特色活动、DigiKey在线实用工具,干货多多~
查看 »
本周精选下载推荐:电源管理基础Dummies
本周小编给大家带来一本超简单、超干货的电子书——《电源管理基础Dummies》!内容深入浅出,排版舒服简洁,分分钟能get到电源管理最核心的知识内容。
查看 »
下载资料赢好礼!看Vicor模块化电源解决方案如何推动创新
活动时间:即日起-2024年12月31日
如何参与:点击活动页内您想了解的模块,找到资料下载即可参与抽奖,活动结束后统一发奖!
查看 »
关闭
站长推荐
1
/8
电子工程世界版权所有
京B2-20211791
京ICP备10001474号-1
电信业务审批[2006]字第258号函
京公网安备 11010802033920号
Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复
返回顶部
返回列表
论坛首页
版块列表
专业技术中心
TI技术论坛
ST传感器与低功耗无线技术论坛
ADI参考电路
DigiKey得捷技术专区
ADI · 世健工业技术
电子技术交流
嵌入式系统
单片机
国产芯片交流
电机驱动控制
FPGA/CPLD
模拟电子
电源技术
PCB技术
RF/无线
传感器
综合技术交流
下载中心专版
大学堂专版
测评中心专版
创意与实践
电子竞赛
DIY/开源硬件专区
淘e淘
创意市集
行业应用
汽车电子
移动便携
医疗电子
工控电子
安防电子
休息一下
聊聊、笑笑、闹闹
工作这点儿事
为我们提意见&公告
EEWorld颁奖专区
信息发布
最新帖子
最新帖子
最新回复
精华
消灭零回复
测评中心
活动中心
积分兑换
E金币兑换
芯积分
厂商专区
TI技术论坛
ST传感器与低功耗无线技术论坛