摘要:
概述 ICU 全称输入捕获单元,其驱动程序负责提供AUTOSAR指定的标准信号测量服务。ICU通道的底层捕获引擎可以是GTM单元的TIM通道、CC6比较器CCU6模块,或GPT12定时器的ERU通道。 依赖硬件 详细配置 container:IcuConfigSet 中包含ICU驱动程序的配置参数和 阅读全文
摘要:
// 定义 char * 指针类型#define va_list char * va_list ap;char *ap; // 指向可变参数的第一个#define va_start(ap, last_arg) (ap = (va_list)&last_arg + sizeof(last_arg)) 阅读全文
摘要:
1:所有类似printf的可变参数函数,其可变形参对应的实参必须是栈变量,不能是全局/静态变量;因为va_list就是在栈的上下文工作,如果实参位于静态区,则访问不到。 形如 ... 的参数列表都是从右向左压栈,所以最右侧的表达式最先执行 { static int a = 3; printf("%d 阅读全文
摘要:
systick 中断的优先级往往设置为最低值,而不是最高值;如果设置为最低值不会发生上图标号[6]处的情况,设置为最低可能会被其他中断抢占,延长systick的响应时间,但是这个延迟不会累计,因为systick的周期是固定的。举个例子,比如tick是1s一次,假设中断被抢占后会延迟tick中断响应1 阅读全文
摘要:
概述 UART驱动程序负责按照UART协议提供通信服务。asclin模块为实现UART协议提供了异步通信的硬件支持。UART驱动程序提供了配置、初始化、数据传输和接收的功能,还提供了可选的特性,如中止传输和中止接收。 asclin模块支持 lin、spi 和 uart 的通信服务。 依赖硬件 详细配 阅读全文
摘要:
PWM: 假设PWM的时钟主频是 PWM_CLK_FREQ Hz,则如果需要输出频率为 xHz,占空比为 y% 的波形时, 则只需要在定时器的周期寄存器中写入(PWM_CLK_FREQ / x),在占空比寄存器中写入((PWM_CLK_FREQ / x)* y / 100u)即可。 Pwm_SetP 阅读全文
摘要:
1:stm32中有3条总线:地址总线,数据总线,系统总线;地址总线上是地址值,数据总线上是数据值,cpu读写时会先在地址总线上传输地址值,如果是写操作之后数据总线上会放往前面地址处写入的数据值,如果是读操作之后数据总线上会放前面地址处的数据值;地址总线和数据总线只能访问rom,而系统总线既可以访问R 阅读全文
摘要:
exit() 的含义 :提前结束程序 .c 文件 return 的含义 :提前结束函数,其所在行以下,整体大函数底花括号以上,2者之间的所有语句都不会被执行到,用它来提前结束程序。 break 的含义 :提前结束其所在的本层循环,即break所在行的上层for,switch,while contin 阅读全文
摘要:
操作系统:为啥要引入操作系统,个人的理解是为了实时性(即及时的响应性)。 没有操作系统下多个任务都只能以前后台的方式排队执行,对某个任务的输入不能得到及时的响应;虽然后台有中断,但不能把所有的任务都放在后台的中断里;操作系统的引入解决了实时性的问题,tick的调度使得任务看上去是在并行执行,因此对输 阅读全文
摘要:
NVIC :NVIC_Init(&NVIC_Initsture); 1、NVIC只是设置某一种中断的优先级,而不是打开某种中断。 2、ppp_ITConfig();才是开/关具体某种中断使能位的函数。 3、当遇到具体的中断标志位发生时,便会触发中断,需提前写好相应的中断服务函数。 AFIO :跟 A 阅读全文