IO口与中断线映射:SYSCFG_EXTILineConfig代码详解

鉴于上面代码逻辑运算太难懂,下面用VS运行C++代码说明,分两种:

1--指定某一类io口,比如是GPIOF就用5代替,然后循环各个(0~15)io口:

// 配置寄存器EXTICR循环io口代码测试.cpp : 
//
#include <iostream>
int main()
{    
    int   EXTI_PinSourcex=0;
    uint32_t tmp = 0x00; tmp;
    uint32_t EXTICR[4];
   
    for (EXTI_PinSourcex; EXTI_PinSourcex < 0x10; EXTI_PinSourcex++)
    {
        tmp = ((uint32_t)0x0F) << (0x04 * (EXTI_PinSourcex & (uint8_t)0x03));//
        EXTICR[EXTI_PinSourcex >> 0x02] &= ~tmp;
        std::cout << EXTI_PinSourcex / 4 << "-" << std::hex << tmp << "-" << std::hex << EXTICR[EXTI_PinSourcex >> 0x02] << "/-";

        EXTICR[EXTI_PinSourcex >> 0x02] |= (((uint32_t)5) << (0x04 * (EXTI_PinSourcex & (uint8_t)0x03)));//A

        std::cout << EXTI_PinSourcex  << "--";
        std::cout << std::hex << EXTICR[EXTI_PinSourcex >> 0x02] << "\n";
       EXTICR[EXTI_PinSourcex >> 0x02] = 0xcccccccc;
            // printf("%02X ", EXT
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值