推荐阅读最新更新时间:2024-11-08 15:26
STM32通过调用库函数进行编程
1、调用库函数编程和直接配置寄存器编程的区别: 2、CMSIS标准: 3、STM32库函数的组织: 4、程序例举: 调用库函数实现通过USART发送数据(26个大写的英文字母) 首先:在主函数部分先要(调用自己编写的函数)对USART要用到的I/O端口进行配置、打开系统时钟配置和对USART1进行参数配置 下图是通过调用库函数对USART1的参数进行配置,将其配置成异步收发模式、波特率用户可以自定的串口: /**************************************************************************************
[单片机]
STM32串口空闲中断的使用
今天完善了USART串口接收数据函数以及程序,在每个USART外设上都添加了串口空闲中断函数。其步骤如下: 添加总线空闲中断功能的优点: a) 可以准确地判断出串口数据是否接收完毕,不需要额外添加定时器作数据接收完毕超时检测,不仅可以减少了TIM定时器外设 的使用,提高系统性能,而且可以增强程序的可读性(因为使用TIM定时器做超时检测时,需要在TIM定时器中断函数中添加一个 USART_RX_Over的标识符,影响了程序的可读性); 添加总线空闲中断功能的需要注意的地方: a) 在使用串口空闲中断时需要添加读DR位(数据寄存器)空闲中断变量,因为每次触发串口空闲中断时,需要读取对应USART的DR位(数据寄存器)才能清除
[单片机]
stm32CAN通信代码
最近做项目需要用到can通信,这里分享一下自己的can通信学习代码,我使用的是正点原子的精英开发板,参考的资料也是正点原子的库函数指南,此外我也看完了can入门手册(21ic电子网可以下载到),对can通信原理了解了不少,can的内容还是很多的,这里我也不说原理,毕竟内容太多,只分享一下自己的代码,本来是跟着正点原子的例程走的,结果我的tft屏幕坏了(特容易坏),而且自己也只有一块开发板,没有办法,就仿真吧,(插一条:仿真来找小虫子简直不要太爽,我后面分享一下自己用仿真的一些小经验吧),学习32后面基本上要用到按键和LED,建议大家只看原理图自己写一遍,有自己的代码,方便以后调用,显示屏也是OLED和TFT两个在后面的代码调试中结
[单片机]
分析TCP/IP协议栈代码之UDP(STM32平台)
1. UDP介绍 UDP是一个简单的面向数据报的运输层协议:进程的每个输出操作都正好产生一个 UDP数据报,并组装成一份待发送的IP数据报。这与面向流字符的协议不同,如TCP,应用程序产生的全体数据与真正发送的单个IP数据报可能没有什么联系。 UDP数据报封装成一份 IP数据报的格式如图11 - 1所示。 RFC 768 是UDP的正式规范。 UDP不提供可靠性:它把应用程序传给IP层的数据发送出去,但是并不保证它们能到达目的地。由于缺乏可靠性,我们似乎觉得要避免使用UDP而使用一种可靠协议如TCP。在讨论完TCP后将再回到这个话题,看看什么样的应用程序可以使用UDP。 2. UDP首部 UDP首部的各字段如图
[单片机]
stm32 堆栈分配
1.堆和栈大小 定义大小在startup_stm32f2xx.s Stack_Size EQU 0x00000400 AREA STACK, NOINIT, READWRITE, ALIGN=3 Stack_Mem SPACE Stack_Size __initial_sp ; Heap Configuration ; Heap Size (in Bytes) 0x0-0xFFFFFFFF:8 ; Heap_Size EQU 0x00000200 AREA HEAP, NOINIT, R
[单片机]
调试器不能连接到STM32的问题与解决办法
很多人都碰到过调试器不能连接到STM32的问题,不管是IAR的J-Link还是Keil的ULink,或者是ST的ST-Link。出现这个问题时,调试软件会提示不能建立与Cortex-M3的连接,或提示不能下载程序,或提示找不到要调试的设备等。 这样的问题都是发生在调试那些可以在CPU不干预的时候自动运行的模块、或在调试低功耗模式的程序的时候。 所谓 可以在CPU不干预的时候自动运行的模块 包括:DMA、定时器、连续转换模式下的ADC、看门狗等模块。 这个问题的根源是: 1)调试器需要在RAM内执行一段程序,对Flash进行擦写操作,如果不停止这些自动运行的模块,它们会干扰程序在RAM中的执行,致使下载失败。比如DMA模块被
[单片机]
不一样的STM32“脱机”烧录器
用SBC给STM32F746Discovery烧写程序。SBC就是单板电脑的意思,也可以叫卡片电脑(神奇的ARM小电脑),他是一个统称;常见的SBC有树莓派、Friendly ARM、香橙派、栗子派、Firefly等。 硬件的接法很简单,就像上面那样,把STM32Discovery的板载ST-Link V2的USB接口接到SBC的USB接口上就好了。 过去,我们如果要给STM32单片机烧写程序,需要用到桌面电脑,或者笔记本电脑。这些都是X86平台的,非常不方便。所以,我们今天要来个骚操作,DIY一个小作品,用栗子派代替传统的X86电脑,把它做成一台小型的STM32烧录器。借助Linux系统的SSH服务,间接地也实现了远程烧
[单片机]