开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第33天,点击查看活动详情
一、8种工作模式
1.1、输入浮空
端口电平未知的,由外部决定
1.2、输入上拉
无信号输入时,为高电平
1.3、输入下拉
无信号输入时,为低电平
1.4、模拟输入
可以用于AD转换,测电压
1.5、开漏输出
注:一般用于总线(iic,spi),输出高阻态表示高电平。 只能输出低电平 只能通过加上拉电阻输出高电平(输出多少v,取决于上拉电阻接多少v)
1.6、推挽式输出
开关效率高,电流大,驱动能力强
1.7、推挽式复用输出
复用功能
1.8、开漏复用功能
复用功能
二、外部中断
2.1.PA0作为外部中断,库函数
2.1.1、开时钟并配置CRL(初始化GPIO)
模式设置为浮空输入
因为是输入模式,所以不用设置速度
2.1.2、初始化中断(相当于外设)
选择端口引脚
开AFIO时钟
初始化中断:
选择中断口0~19
选择模式,中断或事件
选择触发形式,上升沿或下降沿或都触发
使能打开中断
2.1.3、配置中断优先级
配置优先级分组:0~4
结构体变量:
选择配置哪个中断
主优先级
副优先级
使能开启
2.1.3、编写中断服务函数
在stm32f10x_exti.h里面写中断函数
中断名在启动文件里面找
三、串口
PA9(TX),PA10(RX)
3.1、端口初始化
1.开启PA时钟
2.PA9复用推挽输出,50MHz
3.PA10浮空输入
3.2、初始化外设
1.开外设时钟USART1
2.配置外设寄存器
波特率:115200
传输位数:8位
停止位数:1位
校验位:无校验
发送接收使能
硬件流控制失能
3.3、初始化中断
1.配置优先级分组:0~4
2.中断初始化
中断通道(配置哪个中断)
主优先级1
副优先级1
使能开启
3.4、使能中断
USART_ITConfig(USART1,USART_IT_RXNE,ENABLE);
3.5、使能外设
USART_Cmd(USART1,ENABLE);
3.5、发送数据
形参1:外设
形参2:数据
1.发送函数(外设,数据可以是16或8位)
2.等待发送结束
3.6、发送数据(数组,字符)
3.6.1、发2字节
3.6.2、发数组
3.6.3、发字符串
3.6.4、printf和scanf发
注意:要使用printf,必须勾上,不然程序阻塞
3.7、主函数
注:windows下要\r\n才能回车,Linux下\n就可以起到回车作用(换行\r回车\n)
3.8、中断
发送过去后立马发回来