嵌入式开发与应用
文章平均质量分 77
社恐小美~
这个作者很懒,什么都没留下…
展开
-
嵌入式开发与应用实验四——通过串口通信实现收发功能
串行通信中的波特率和比特率:波特率指数据信号对载波的调制速率,波特率的单位是波特(baud),比特率指单位时间内传输的比特数,单位bit/s(bps),而对于USART来说,波特率和比特率是相等的。总之,波特率越大传输速率越快,通过控制时钟可以改变波特率。配置其波特率,数据长度,停止位长度,工作方式,有无校验位,硬件流的控制等。(6) 最后调用USART_Cmd()函数使能USART,这个函数最终配置的是USART_CR1的DE位,具体的作用是开启USART1的工作时钟,没有时钟USART1就工作不了.原创 2024-09-16 18:19:16 · 1575 阅读 · 0 评论 -
嵌入式开发与应用实验三——定时器实现一秒闪烁一次
它随着计数器的输入脉冲进行自加1,也就是每来一个脉冲,计数器就自加1,当加到计数器为全1时,再输入一个脉冲就使计数器回零,且计数器的溢出使相应的中断标志位置1,向CPU发出中断请求(中断允许时)。定时器中断一次的时间是1s,定义一个全局变量Cnt,每当进一次中断的时候,由Cnt来记录进入中断次数。设置自动重装载寄存器ARR的值为10000,设置时钟预分频器为72,则驱动计数器的时钟CK_CNT=CK_INT/(71+1)=1MHz,则计数器计数一次的时间为1/CK_CNT=1s。原创 2024-09-08 20:45:20 · 1596 阅读 · 1 评论 -
[keil].\Objects\LED.axf: Error: L6200E: Symbol EXTI9_5_IRQHandler multiply defined .O...错误解决方法
解决出现.\Objects\LED.axf: Error: L6200E: Symbol EXTI9_5_IRQHandler multiply defined .O...的方法。通过搜索可以发现 EXTI9_5IRQHander在两个文件中被重复定义,我们可以注释或者删除其中一个即可;3. 如果变量是在头文件定义的,那么就需要将其改到 .c 中定义,在头文件定义是不可以的;1. 首先利用(Ctrl+f)搜索这个变量在工程中被定义的位置;2. 在多个文件中都有定义。原创 2024-09-03 21:39:50 · 314 阅读 · 0 评论 -
嵌入式开发与应用按键外部中断实验二
利用STM32的外部中断输入功能,在外部设备触发中断信号时,中断模块会将中断信号转换为STM32的中断信号,从而触发LED灯亮灭。根据实验要求通过按键点亮LED灯,通过原理图了解硬件电路结构,实现初始化GPIO,并配置中断,编写中断处理程序,处理一个键盘中断,并在串口打印中断及按键显示信息。(3)配置按键EXTI中断\事件线,配置中断产生的条件,PB5、PD6、PD3这三个口采用的是上拉输入模式,当有按键按下时,该IO口是低电平,所以要配置成下降沿触发,对应的就是GPIO mode;原创 2024-09-03 21:14:20 · 1157 阅读 · 1 评论 -
Keil5新建工程详细讲解
单击工具栏中的魔术棒,在弹出的选项窗口中选择“C/C++”标签页,然后单击“Include Paths”右边的“...”按钮,弹出“Folder Setup”对话框,然后将图上的四个文件夹路径(目录)添加进去(实际上不包含“startup”路径亦可)。给drivers组添加文件,需要添加drivers\src下的全部源文件(.c),实际工程中只选择需要的驱动模块以提快编译速度,但misc.c,(一)对四个文件夹内的源文件(.c文件)进行分组管理(“四个分组”)(三)配置宏定义标号(“一处宏定义”)原创 2024-06-16 01:35:52 · 2917 阅读 · 0 评论