stm32f103rbt6_6

一  回忆昨天的内容

串行通信  
115200
8N1

串行通信与并行通信的区别

USART 
同步和异步

时序 

usart1_send_byte
while(*buf)
{
    usart1_send_byte    ---->usart1_send_data
}
usart1_recv_byte

二  中断
    目标:把之前检测按键功能由轮询的方式改为中断
    
    2.0  中断控制器
        当使用中断时,首先了解中断控制器
        NVIC  可嵌套的向量中断控制器
        VIC     向量中断控制器
        GIC     通用中断控制器     ----》  高端板子
        
        一般情况下MCU使用NVIC和VIC
        
    2.1  在STM32F103RBT6中的中断
        NVIC 和ARM-CORTEX-M3紧密相连
        NVIC会处理两个事情
        1)NVIC会为每一个连接到NVIC上的中断源分配一个中断号
            中断号的顺序一定和中断向量(异常处理函数)保持一致
        2)处理优先级的问题
            本身ARM提供8bit的空间来解决256个优先级,但是ST公司只用了4bit 用于处理16个优先级
        
    2.2  通过手册了解EXTI中断
        打开《stm32f10x中文参考手册》 P91
        8.1.2章节中所指示的是中断和异常向量表
        编号越小的(中断),优先级越高
        
        表36中所指示的内容是不可以修改的
        首先关注EXTI,它表示外部中断,可以配置成19个中断事件源
        16个用来处理外部中断,剩余的3个用来处理其他中断

        GPIO管脚可以触发中断,但是需要借助EXTI,一共有19个
        
        PA0 PB0 PC0 PD0  ...都可以触发EXTI0
        ...
        PA15 PB15 PC15 PD15  ...都可以触发EXTI15

        结论:每一个GPIOx都可以触发EXTIx
        
        注意:
            1)NVIC和EXTI的区别
                NVIC 控制器
                EXTI  外部中断源

            2)编号的问题
                中断有中断号
                       中断号和异常向量表中的顺序有关     
                外部中断也有外部中断号
                       EXTI的中断号和GPIO的管脚相关
            
            3)外部中断 EXTI0  对应的中断编号 0...
                 外部中断 EXTI9~5 对应的中断编号是同一个
                 有些外部中断独占一个中断号,有些外部中断共享一个中断号
                 也就是说,异常向量表中的第6函数是处理外部中断0
                 由于KEY0 对应的PC9   KEY1   对应的是PC8
                 且EXTI9~5对应的中断处理函数是同一个,所以要在中断处理函数中进行判断
    
    2.3 了解外部中断配置寄存器
        EXTIx[3:0]  配置成不同的值的时候,选择不同的管脚,它属于 AFIO_EXTICRx。
        所以打开时钟的时候,需要将GPIOA,GPIOC,EXTI,AFIO的时钟打开

    2.4  驱动EXTI(外部中断)
        KEY0      PC9      EXTI9
        KEY1      PC8      EXTI8
        KEY2      PA0      EXTI0
        KEY0   和  KEY1 在没有按下的时候,呈现高电平。
        KEY2 逻辑和上述相反。
    
    用中断的方式实现USART1接收字符串
    
        

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值