- 博客(7)
- 收藏
- 关注
原创 STM32F103第四次任务
STM32的中断系统和外部中断基础STM32的中断系统stm32的中断通道可能会由多个中断源共用。这就意味着,某个中断服务函数也可能被多个中断源所共用。所以,在中断服务函数的入口处,需要有一个判断机制,用以辨别是哪个中断触发了中断STM32中有2个优先级的概念:抢占优先级和响应优先级,每个中断都需要指定这两种优先级。STM32的中断系统外部中断EXTI是stm32芯片实时处理外部事件的一种机制,由于中断请求来自GPIO端口的引脚,所以成为外部中断STM32芯片有16个外部中断源EXT
2021-02-18 23:32:02
110
原创 STM32的按键开发基础
按键按键信号的识别:在没有按键按下时候,输入引脚为高电平,当有按键按下时,输入引脚则为低电平通过反复读取按键输入引脚的信号,然后识别高低电平来判断是否有按键触发抖动:按键的输入引脚有低电平产生并不代表一定是有按键按下,也许是干扰信号,因此,需要通过去抖动处理,将这些干扰信号过滤,从而获得真实的按键触发信号去抖动:首次监测到按键输入引脚有低电平后,稍作延时,再去读取该引脚,如果还是低电平,则确认为按键触发信号,否则,则为干扰信号,不予处理HAL库电平输出函数void HAL_GP
2021-02-14 00:31:11
691
原创 STM32的GPIO端口学习
GPIO:General Purpose Input&Output 为通用输入输出引脚STM32最多有GPIOA、GPIOB-GPIOG组端口,每组端口最多有PIn0、Pin1……Pin15共16个引脚每一个I/O端口都可以被编程,每一个I/O口由7个寄存器控制I/O口可以由软件配置成8种模式:1、推挽输出PP(普通电平输出)2、开漏输出 3、推挽式复用功能 4、开漏式复用功能5、模拟输入(AD转换的模拟信号)6、浮空输入 7、下拉输入 8、上拉(PULL)输入(电阻-电磁...
2021-02-09 22:27:38
2728
1
原创 嵌入式C第四次
结构体的参数传递结构体做函数参数有三种传递方式:一是传递结构体变量,这是值传递,二是传递结构体指针,这是地址传递,三是传递结构体成员,当然这也分为值传递和地址传递。以传引用调用方式传递结构比用传值方式传递结构效率高。以传值方式传递结构需要对整个结构做一份拷贝。1\传递结构体变量代码示例:#include<stdio.h>#include<string.h>#define format "%d\n%s\n%f\n%f\n%f\n"struct student
2021-02-06 00:00:59
89
1
原创 嵌入式第三次作业
内存操作在嵌入式系统的编程中,常常要求在特定的内存单元读写内容,汇编有对应的MOV指令,而除C/C++以外的其它编程语言基本没有直接访问绝对地址的能力。在嵌入式系统的实际调试中,多借助C语言指针所具有的对绝对地址单元内容的读写能力。以指针直接操作内存多发生在如下几种情况:(1)某I/O芯片被定位在CPU的存储空间而非I/O空间,而且寄存器对应于某特定地址;(2)两个CPU之间以双端口RAM通信,CPU需要在双端口RAM的特定单元(称为mail box)书写内容以在对方CPU产生中断; ...
2021-02-04 23:56:33
105
原创 嵌入式C学习第二次作业
Typedeftypedef是关键字,作用是为一种数据类型定义一个新名字。这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct等),C语言允许用户使用 typedef 关键字来定义自己习惯的数据类型名称,来替代系统默认的基本类型名称、数组类型名称、指针类型名称与用户自定义的结构型名称、共用型名称、枚举型名称等。一旦用户在程序中定义了自己的数据类型名称,就可以在该程序中用自己的数据类型名称来定义变量的类型、数组的类型、指针变量的类型与函数的类型等。在编程中使用typedef
2021-02-03 21:07:37
119
原创 嵌入式C学习
一、位运算1、and运算:&运算规则:1 & 1 = 1:true & true = true1 & 0 = 0 : true & false = false2、or 运算 |or运算是指如果一个操作数或多个操作数为 true,则逻辑或运算符返回布尔值 true;只有全部操作数为false,结果才是 false。3、xor异或运算^True ⊕ False = TrueFalse ⊕ True = TrueFalse⊕ Fals
2021-02-02 21:36:20
113
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人