推荐阅读最新更新时间:2024-11-17 12:24
STM32的can2和CAN1竟然有关联?!!!
调试STM32F107的CAN2竟然无法接收。通过与另一个代码对比,终于发现想用CAN2,则必须把CAN1的RCC也配置上,就可以接收了。 上网查了下,21IC给解释http://bbs.21ic.com/icview-542674-1-1.html。手册也懒得看了,总之,CAN2和CAN1是有关联的。对于STM32F407可能也是如此。 如果设置两遍也不行。也是CAN2不能接收。 比如这样设置两遍: RCC_APB1PeriphClockCmd(RCC_APB1Periph_CAN1, ENABLE); RCC_APB1PeriphClockCmd(RCC_APB1Periph_CAN2, ENABLE);
[单片机]
stm32的引脚配置
最近有新手问我,什么串口2 串口3 都是那个引脚 以及PWM配置那个引脚 通道选择哪一个、 先简单的描述一下 PWM //设置该引脚为复用输出功能,输出TIM3 CH2的PWM脉冲波形 GPIOB.5 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5; //TIM_CH2 //设置该引脚为复用输出功能,输出 TIM1 CH1 的 PWM 脉冲 GPIOInitStructure.GPIOPin = GPIOPin8; //TIMC 如果不知道 想要使用其他的神费劲 只能上网抄别人的程序了 case 0: // 通道0
[单片机]
stm32 启动过程
当前的嵌入式应用程序开发过程里,并且C语言成为了绝大部分场合的最佳选择。如此一来main函数似乎成为了理所当然的起点——因为C程序往往从main函数开始执行。但一个经常会被忽略的问题是:微控制器(单片机)上电后,是如何寻找到并执行main函数的呢?很显然微控制器无法从硬件上定位main函数的入口地址,因为使用C语言作为开发语言后,变量/函数的地址便由编译器在编译时自行分配,这样一来main函数的入口地址在微控制器的内部存储空间中不再是绝对不变的。相信读者都可以回答这个问题,答案也许大同小异,但肯定都有个关键词,叫“启动文件”,用英文单词来描述是“Bootloader”。 无论性能高下,结构简繁,价格贵贱,每一种微控制器(处理器)都
[单片机]
限量7折!米尔STM32MP135开发板
说到 MCU 就会想到 S MT32, 而 STM32MP1 作为新一代 MPU 的典范,有着极富开创意义的异构系统架构,兼容 MPU 和 MCU 的 双重优势,入门级、性价比高、能跑 L inux 系统、应用场景丰富 等 特点,深 受业界的喜爱! 米尔电子作为 ST 官方合作伙伴,先后开发了 S TM32MP151 、 S TM32MP157 、 STM32MP13 5 系列核心板和开发板,受到广大客户的认可。 米尔为了感谢广大客户的支持,推出 STM32MP1 35 开发板打折特惠活动! 米尔基于 STM32MP1 35 开发板 限 量 7 折! 7 折!
[嵌入式]
STM32系统定时器(SysTick)笔记
一、简介 SysTick:系统定时器,由四个寄存器控制,存在于内核,嵌套在NVIC中,所有的Cortex-M3内核的单片机都具有这个定时器。 二、相应寄存器(这里介绍常用的几个寄存器) ①SysTick控制及状态寄存器(地址:0xE000_E010) 只有上面红色线框柱的位有效,其他位都是保留。 ②SysTick重装载数值寄存器(地址:0xE000_E014) ③SysTick当前数值寄存器(地址:0xE000_E018) 三、结合框图 图中STK_CLK对应的上面的CLKSOURCE,结合RCC时钟树: 当CLKSOURCE位为0时,时钟是AHB
[单片机]
STM32使用HAL库开发指南
准备内容 好奇心,耐心,细心 一台电脑,并安装keil5,以及STM32CUBEMX等开发应用。 JLINK或者ST-LINK模块。 STM32开发板或者最小系统板(我选用STM32F103RET6模块,配置与逻辑大同小异)。 01创建工程 步骤 1:在STM32CubeMX中创建一个项目 打开STM32CubeMX软件,在右上方的“Project”标签下,选择“New Project”。 在主界面上选择你需要使用的STM32系列芯片型号。 在左侧的选项树中,选择你需要的外设配置和时钟设置,并进行相应的配置。你可以根据自己的需求勾选或取消勾选相应的外设。 生成完成后,你可以选择打开生成代码所在
[单片机]
关于stm32 HardFault_Handler 异常的处理 死机
在系统开发的时候,出现了HardFault_Handler硬件异常,也就是死机,尤其是对于调用了os的一系统,程序量大,检测堆栈溢出,以及数组溢出等,找了半天发现什么都没有的情况下,估计想死的心都有了。如果有些程序开始的时候一切没有问题,但是运行几个小时候,会发现死机了,搞个几天下来估计蛋都碎了一地吧。。。 一般来说运行操作系统 是以下几个问题 1.开始的时候给ucos分配的堆栈太小了,随着项目做多了,这类问题一般很容易解决 #define TASK_IO_SIZE 300 #define TASK_IO_PRIO 6 OS_STK TASK_IO_STK ; 比如修改300到 1000,做开发的时候 如果ram允许,尽量大些,免
[单片机]
STM32的ISP方式和IAP方式下载程序有什么区别
都可以通过串口来下载啊 ISP方式:需要将BOOT管脚配置成上电从System Memory启动,System Memory中有一段BOOTLOADER来接收串口来的数据,把它们烧写到FLASH中。 IAP方式:是用户自己写一段烧写程序,通过ISP或者仿真器事先烧写到用户FLASH中,使用时通过某种方式触发这段程序,再来从串口接收数据,然后烧到相应的FLASH中,不需要改变BOOT管脚配置。
[单片机]