- 博客(13)
- 收藏
- 关注
原创 day5,TIM定时器
如果用正常的思路来实现的话,就是先设置一个定时器产生中断,每隔一段时间,在中断程序中调用代码手动触发一次DAC转换,然后DAC输出,这也也是没有问的,但是这样会使猪程序处于频繁被中断的转态,这会影响主程序的运行和其他终端的响应,所以这个主模式可以把这个定时器的更新事件,映射到这个触发输出TRGO的位置,然后TRFO直接接到DAC的触发转换引脚,这样定时器的更新就不需要再通过中断来触发DAC转换了,仅需要把更新事件通过主模式映射到TRGO,然后TRGO就会直接去触发DAC了。11等这些一般用不到。
2024-08-05 22:25:17 958
原创 day4,stm32,EXTI外部中断
本来20路输出,应该有20路中断输出,但是可能ST公司觉得这个20个输出太多了,比较占用NVIC的通道资源,所以把其中外中断的9-5和15-10,给分到一个通道里,也就是说,外部中断的9-5会触发同一个中断函数,15-10也会触发同一个中断函数,所有需要再根据标志位来区分到底哪个中断进来,下面这里有20条输出线路到了其他外设,这就是用来触发其他外设操作的,也就是我们上面所说的事件响应。总结,中断响应式正常流程,引脚电平变化触发中断,事件响应不会触发中断,而是触发其他外设,属于外设之间的联合工作。
2024-07-21 21:58:13 712
原创 3,stm32 LED闪烁,流水灯,蜂鸣器
PA15 PB3 PB4 也是调试端口,要用做普通的端口的话还需要进行一些配置。4第二个参数可以同时对16个端口进行写入操作。3根据第三参数的值来设置指定 的端口。1,可以把指定的端口设置为高电平。2,可以把指定的端口设置为低电平。效果LED每500ms闪烁一次。IN-FLOATNG浮空输入。AF-PP复用推挽输出aer。以上是第一个LED灯的代码。Out_OD是开漏输出。AF_OD复用开漏输出。Out_PP推挽输出。
2024-07-17 15:41:34 297
原创 重生之我在学stm32 2day(GPIO的理解)
在开漏输出模式下,P-MOS是无效的,只有N-MOS工作,数据寄存器为1时,下管断开,这时输出相当于断开,也就是高阻模式,数据寄存器为0时,下管导通,输出直接接到VSS,也就是输出低电平,开漏模式可以做为通信协议的驱动模式,比如I2C通信的引脚,就是是用的开漏模式,在多机通信的情况下,这个可以避免各个设备的相互干扰,另外开漏输出可以用于输出5V的电平信号。前三个,都是数字的输入口,都可以读取端口的高低电平 ,当引脚悬空时,上拉输入默认为高电平,下拉输入默认为低电平,浮空输入是不确定的。
2024-07-16 17:54:36 696
原创 重生之我在学stm32(第一天)
stm32f10x.h是外设寄存器描述文件(类似51单片机的头文件)用来描述stm32有哪些寄存器和它对应的地址。两个system文件来配置时钟(stm32主频62Hz就是这个函数配置的。Llibraries,stm32标准外设驱动src(库函数的原文件)project官方提供的工程事例和模版(以后使用库函数可以参考)misc.c内核库函数,其他为内核外外设库函数。Llibraries,stm库函数的头文件ins。后面两个一个是库函数的发布文档(有版本说明。conf文件来配置库函数头文件的包含关系。
2024-07-16 01:30:24 303
原创 重生之我在学stm32F1 (Cortex-M3内核)
S代表电源,I代表输入,O代表输出,IO代表输入输出。默认复用功能是IO口上同时连接的外设功能引脚。深色部分是ARM内核核内的外设。绿:IO口,功能口相关的引脚。FT表示能够容忍5V的电压。引角越多,它的外设越多。stm32F1上的外设。蓝:最小系统相关的引脚。没有的为标准的3.3V。
2024-07-15 20:31:50 231
原创 C语言结构体,以及malloc函数,指针参数,引用型参数
malloc : malloc后面是申请空间,例如sizeif(int)*100 ,这里int是4个字节再乘以100,那么就是申请了400个字节;malloc前面是强制类型转换,例如(int)就是把刚刚申请的400个字节的空间强制转化为int类型,(char)就是 它转换成char类型,(int*)就是转化成指向整型的一个指针,(ElemType*)就是指向ElemType的指针;此种情况,传递 的也是指针的地址,但是a和b 的值却发生了改变。此种情况,虽然传递的是指针,但,最后a和b的值并没有变。
2024-05-03 16:35:25 234
原创 51单片机串口通信学习
当SM2=1时,支持多机通信(就是TXD和RXD可以链接多个串口设备)主要用于方式2和方式3,此时RB8控制是否激活RI(接收中断)比如RB8=0时,表示不激活RI,如果为1则接收到的数据进入SBUF并激活R1=1;TI是发送中断标志位,在方式0时第8位数据发送结束的时候或者其他方式串行发送停止位,开始位的时候TI硬件置1向cpu请求中断,再发送下一次数据之前需要软件清0。TB8和RB8是方式2和方式3用来发送数据的第9位,可以用软件来规定其第9位的作用,方式0和方式1是不用这两个的,因为只有8位数据。
2024-01-23 00:04:09 1277 1
原创 单片机GPIO口的介绍
当内部存储器够用时就是不需要外扩,即数据存储器RAM和程序存储器LOM,P0,P1可以作为一个普通的I/O口也可以作为一个也可以作为一个外扩存储器的总线口。D中传入一个信号,然后CLK有一个脉冲信号,将D中的信号传递给Q和Q非,如果CLK中没有信号则不会传递,Q和Q非会锁存,直到CLK有脉冲信号。这里的上拉电阻代替了P0里面的V1,像这样,有输入输出的端口叫作准双向口,51中P1、P2、P3都是双向口,P0端口输出三态功能。D为输入端,CLK控制端,Q是一个输出端,Q非是一个反向输出端。
2024-01-20 15:24:33 570
原创 定时器计数器复习
首先看选择工作方式M0M1的值(共有四种计数方式0 1 2 3,如图1所示)比如M0,M1都为0时,为13位计数器就为2的13次方,还要减掉N(定时的一个初值)对应的就是我们计数的个数,当满2的13次方时开始溢出,溢出时有中断的话,请求中断。GATE门控位控制定时器计数器的开关如果为0,只用再控制TR0为1就可以,如果GETE门为1的话还要让INT0/INT1为1,才能开启定时器计数器。TR1是对T1定时计数器的一个运行控制位,TR1为1时让定时器开始工作为0则停止(通过我们软件来实现)
2024-01-19 22:13:19 537 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人