你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

NUCLEO-STM32F303 之 GPIO模拟PWM(三)  

[复制链接]
党国特派员 提问时间:2015-6-4 23:30 /
阅读主题, 点击返回1楼
收藏 2 评论24 发布时间:2015-6-4 23:30
24个回答
jinyi7016 回答时间:2015-6-5 19:09:37
用定时器了还不如直接用PWM,又加个GPIO,对于没有PWM的这个方案还是不错的
为什么是EEFOCUS小白 回答时间:2015-6-6 10:19:45
多谢分享
zhangdaijin 回答时间:2015-6-6 13:00:06
谢谢分享
欣辰天下 回答时间:2016-5-30 16:30:37
我不是王老五 回答时间:2017-2-21 10:37:44
mbed是什么啊
zbber 回答时间:2017-2-21 11:21:31
很好,看看 了
叶♂子 回答时间:2018-7-6 11:41:34
我用F334的想要GPIO位操作一直不成功,楼主可以帮忙看看吗?
#define        EEPROM_SCL_Pin                                                        GPIO_Pin_0                                                                /* PB.00 */
        #define        EEPROM_SCL_GPIOx                                                GPIOB
       
        #define        EEPROM_SDA_Pin                                                        GPIO_Pin_1                                                                /* PB.01 */
        #define        EEPROM_SDA_GPIOx                                                GPIOB
        /* IIC×ÜÏߣ¬SDAÊý¾ÝÏßµÄÊä³ö·½ÏòÉèÖà */
        #define IIC_SDA_IN()                {EEPROM_SDA_GPIOx->MODER&=~(3 << (1*2));EEPROM_SDA_GPIOx->MODER|=0 << (1*2);}
        #define IIC_SDA_OUT()                {EEPROM_SDA_GPIOx->MODER&=~(3 << (1*2));EEPROM_SDA_GPIOx->MODER|=1 << (1*2);}
       
        #define        EEPROM_GPIOB_Pin                                                EEPROM_SCL_Pin|EEPROM_SDA_Pin
       
        #define        EEPROM_RCC_GPIOx                                                RCC_AHBPeriph_GPIOB
       
        /* IO¿Ú²Ù×÷ºê¶¨Òå */
        #define BITBAND(addr, bitnum) ((addr & 0xF0000000)+0x2000000+((addr &0xFFFFF)<<5)+(bitnum<<2))
        #define MEM_ADDR(addr)  *((volatile unsigned long  *)(addr))
        #define BIT_ADDR(addr, bitnum)   MEM_ADDR(BITBAND(addr, bitnum))
       
        /* IO¿ÚµØÖ·Ó³Éä */
        #define GPIOA_ODR_Addr                                (GPIOA_BASE+0x14)
        #define GPIOB_ODR_Addr                                (GPIOB_BASE+0x14)
        #define GPIOC_ODR_Addr                                (GPIOC_BASE+0x14)
        #define GPIOD_ODR_Addr                                (GPIOD_BASE+0x14)

        #define GPIOA_IDR_Addr                                (GPIOA_BASE+0x10)
        #define GPIOB_IDR_Addr                                (GPIOB_BASE+0x10)
        #define GPIOC_IDR_Addr                                (GPIOC_BASE+0x10)
        #define GPIOD_IDR_Addr                    (GPIOD_BASE+0x10)
       
        /* IO¿Ú²Ù×÷£¬Ö»¶Ôµ¥Ò»µÄIO¿Ú */
        #define        IIC_SCL                                        BIT_ADDR(GPIOB_ODR_Addr,0)
        #define        IIC_SDA                                        BIT_ADDR(GPIOB_ODR_Addr,1)
        #define        Read_SDA                                BIT_ADDR(GPIOB_IDR_Addr,1)
党国特派员 回答时间:2018-7-30 09:35:02
叶♂子 发表于 2018-7-6 11:41
我用F334的想要GPIO位操作一直不成功,楼主可以帮忙看看吗?
#define        EEPROM_SCL_Pin                                                        GPIO_Pin_0                                 ...

不成功现像是什么?
zxcv1ddd 回答时间:2019-4-19 21:50:47
谢谢分享
zxcv1ddd 回答时间:2019-4-23 23:41:04
谢谢分享
12

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版