推荐阅读最新更新时间:2024-03-16 16:13
stm32应用-简单的串口接收与发送程序
与上位机的串口通信是一个很常用的程序。碧海蓝天在刚刚接触stm32芯片时写的第一个简单程序就是串口通信,现在把程序代码甩出来与大家分享。完整的程序哦~一般人我不告诉他 库版本 :ST3.0.0 文件:mian.c //功能:串口初始化、打开定时器中断,然后一直接收数据状态就好了。发送在中断中实现 #include stm32f10x.h #include usart.h u8 USART_rx_data; int main(void) { RCC_Configuration(); //系统时钟配置 GPIO_Configuration(); //端口初始化 NVIC_Config
[单片机]
STM32指针使用
CALCBILL_DATA_ST是个结构体占地址10个 uint8 txbuf1 ={1,2,3,4,5,6,7,8,9,10}; uint8 txbuf2 ={11,12,13,14,15,16,17,18,19,20}; uint8 *pbuf1 = txbuf1; CALCBILL_DATA_ST *pbuf2 = txbuf2; 如此pbuf1和pbuf2分别指向txbuf1和txbuf2空间 uint8 *pbuf1 = txbuf1; CALCBILL_DATA_ST *pbuf2 ; memcpy(pbuf2 ,txbuf2,10); pbuf2 指向的地址是系统分配的,分配只是个
[单片机]
读写STM32内部flash读写代码
由于老师的要求,所以写了一份读写STM32内部FLASH的代码,这样的话就可以把STM32里面没有用来保存代码段的部分用来存储数据了。 由于《stm32flash编程手册》是很久很久以前看的,现在也没心情去仔细看那份手册了。大概浏览了一下,只看到了STM32里面的flash是以16位为单位读写的。 为什么记住这个,因为之前想写一个字节老是出错,所以翻翻手册,果然看到不能写1个字节数据。而且还发现,flash写地址为奇数时也会出错。所以这份代码里面 写flash的地址只能是偶数。浏览过程中还发现,手册里面说写flash和擦除flash的时候会影响cpu的运行速度,没仔细看(真心不想看)。其他具体手册里面的资料的话没有了, 看有没有高
[单片机]
基于STM32单片机的RFID和云平台仓库管理系统设计
一.系统设计 通过STM32单片机进行主控,通过RFID检测刷卡状态 ,光电检测模块检测存货区域,检测到的数据通过ESP01S上传到上位机端进行显示。 图1 系统框图 二.硬件设计 本设计所采用的STM32F103C8T6是以Cortex-3为核心的单片机,使用光电模块进行光电检测,用RFID识别感应并解读信息,检测到的数据会通过串口发送到ESP01S,再发送到上位机端进行显示和监控。 图2 硬件电路 三.软件设计 系统在完成系统初始化后就开始通过IC卡感应模块检测存货与取货状态,检测到的信息通过ESP01S通信模块上传,通过光电识别模块检测判断存货区域。其中若检测到取货刷卡且在区域一,则显示区域1货物减1,否则显示区域2
[单片机]
STM32 JTAG/SWD禁用导致无法烧写解决方法
由于STM32的引脚功能较多,在为了方便硬件的使用,常会使用复用,重映射的功能,这里主要提及的是SWD和JTAG端口的引脚对应出现的问题。为了使得TIM2能够重映射到PA15和PB3,所以得对TIM2进行重映射,但是这样是不够的,因为下载调试端口SWD默认就占用了该引脚,所以重映射无效,因此必须先启动时钟 void Relay_GPIO_Config(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd( RCC_APB2Periph_AFIO, ENABLE); GPIO_PinRemapConfig(GP
[单片机]
移植STM32固件库到IAR
作为嵌入式软件工程师应该有良好的习惯,建project应该层次清晰。 1. 建立一个文件夹用于存放工程,命名为GPIO 2. 打开GPIO文件夹,创建一个子文件夹project(用于存放与工程相关的文件),再创建一个readme.txt(用于对工程的说明,比如说硬件环境和功能) 3. 将ST公司提供的固件库:FWLb中library拷贝到GPIO目录中 4. 打开project,再创建一个文件夹EWARM(存放和开发环境密切相关的内容) 5. 打开STM32固件库:STM32F10xFWLib\FWLib\examples\GPIO\Example1(自己到ST官网上下载) 6. 复制
[单片机]
STM32开发何使用STVP后就无法正常工作了
前言 目前很多用户在使用 STM8 的时候使用了 16MHz 的内部振荡或者外部晶体来作为时钟源。事实上,STM8 家族中有些系列是支持最高 24MHz 主频的,比如 STM8S207、STM8AF52,等等。那么,需要更快的运行速度时,是否只需要使用更高的主频就可以直接运行了呢? 问题 某客户在其产品的设计中,使用了 STM8AF52A9。客户工程师称其一段以前已经验证过的代码,使用 STVP 下载后无法正常运行。但是他试过在 IAR for STM8 中是可以正常调试的,不知道为何使用 STVP 后就无法正常工作了呢? 调研 1.了解问题 使用编译好的.s19 文件使用 STVP 烧写到 STM8AF52A9,发现上电
[单片机]
在Mac OS X 系统下做STM32开发
前言 本文只是一个提纲,提供一个参考,具体操作请查看文中的链接。 搭建环境 初学STM32开发,首先解决开发环境的问题,由于Mac OS X系统下没有keil环境,故需要自己搭建开发环境,参考大师“胡茂晓 的 BLOG”:在Mac OS X中搭建STM32开发环境(1)等系列。 编译 环境搭好了,然后就是编译,keil下编译就比较简单了,但是Mac OS X就只能自己写makefile来使用make编译了,当然,还可以使用autoconfigure来实现makefile文件,但autoconfigure同样难以入手。 写makefile,当然要了解makefile的基本知识,建议抽时间阅读“GNU make中文手册”。
[单片机]