自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 STM32 DMA+TIM

1.最近有调试步进电机,但发现如果没有加减速带载时会启动停止会有过冲,并且步进控制盒如果不开到大电流,会出现无法启动的状态。2.因为本身步进脉冲就是通过PWM输出的,所以考虑到只要先算出一个S型的加减速表,然后通过DMA传输即可。3.DMA需求采用TIM_UP,然后往ARR里面填值即可。4.实际调试发现每次DMA传输到一定值就传输不下去了。5.开始怀疑是TIM_DMAR作祟,因为我是直接传输到ARR里面,没有使用TIM_DMAR,所以重新配置,使用DMAR,然后问题以旧。6.在线调试,观察DMA

2021-06-23 11:54:28 2139 2

原创 关于DMA的理解

DMA分为两部分,1.配置DMA的触发源,其中DMA不同通道触发源不同,类似于中断。2.配置DMA动作后,要干什么事,类似触发中断后,进入中断干什么,但是这个事只能事数据传输,但是可以往任意外设寄存器传输,比如TIM1_UP触发DMA1_CH5,可以往TIM3_CCR3里面开始送数据...

2021-06-17 16:10:37 846

原创 static对于函数

如果两个文件的当中有两个相同名字的函数,编译时会报错,如果此时在该函数前面加上static就不会,因为加上static之后声明的函数,表示只在此文件中使用,其他地方不可以使用

2021-06-17 08:59:33 112

原创 stm32标志位被意外清零

1.硬件为stm32 威纶通HMI 485通信 HMI主机2.实际运作情况 串口采用DMA发送接收 会有个缓存BUF,采用FIFO,大概2k左右3.情况每次从HMI写入数据到STM32,STM32进行存储到FRAM。HMI就与STM32通信不上4.经查是485电平一直为发送状态,并未拉低,实际发送逻辑为等待DMA发送完毕后,置等待485标志位,之后等待2ms清除刚标志位485拉低,其后通过在线调试发现,每次写入FRAM后,就会把此标志位清0,然后485就不再拉低,也就是485一直处于发送状态。5.怀

2021-04-12 12:02:07 580

原创 GD32E230 调试笔记

写在前面,本人水平有限,仅代表个人观点,不喜勿喷,右上角X,首先GD的驱动写的真烂啊,在线仿真时,连寄存器都看不了,还得到memory自己查。之前用的stm32F030,涨价比较厉害,客户要求更换为GD32E230,故此开始。1、由于E230为M23核,我用的是MDK5.11,CMSIS需要升级,没办法,更新MDK到5.33,然后发现Jlink老驱动也不支持,再更新Jlink到V6.98。此为内核升级与GD32没有关系2、对于时钟,之前的版本要求内部8M,默认的GD32E230(后面简称E23)驱动为外

2021-03-26 10:43:38 3983

原创 关于STM32F030 TIM15时钟异常 ADC不工作

同样的初始化TIM14是可以正常工作的定时1ms 1sLED翻转一次 但是TIM16则会出现异常,时间会延长的2~3秒左右查看两者的寄存器数值,如下图这个是TIM16的,我并没有置为RCR但是RCR是2,考虑到RCR是重复计数寄存器,那TIM16的时间不准应该是与RCR有关,回到上面,将时钟初始化结构体,使用之前清0,TIM16恢复正常‘关于ADC单独使用ADC_Config时,工作正常,但是如果在使用ADC_Config之前先初始化端口,就会出现ADC不工作的情况,后来同样发现前后两次A..

2020-09-21 10:00:03 1140

原创 热电偶

计算修正法:在实际应用中,热电偶的参比端往往不是0℃,而是环境温度T,这时测量出的回路热电势要小。因此,必须加上环境温度T与冰点T之间温差所产生的热电势后才能符合热电偶分度表的要求。根据连接导体和中间温度则有:E=(T,0)=E(T,T)+E(T,0)。可用室温计测出环境温度T,从分度表查出E(T,0)的值,然后加上热电偶回路热电势E(T,T),得到E=(T,0)的值,反查分度表即可得到准确的被测...

2019-11-08 15:51:29 1335

原创 关于DMA485发送

1.问题描述:正常报文如果在后面多加0xFF 如下如上图每多发一个0xFF就回复时就会被多吞一个字节2.问题查找通过在线模拟跑发现,每次收到正确数据会立即开始发送,但由于总线这时还在接收,导致多几个字节就会有几个字节发不出去。所以需要等待总线空闲。3.问题解决首先在接收到正确的报文后,等待10ms总线没有数据再过来,然后开始发送。...

2019-10-31 11:35:48 512

原创 关于使用Printf死机的原因

根据网上的方法没有使用Microlib,而是使用int fputc(int ch, FILE *f){while(USART_GetFlagStatus(USART3, USART_FLAG_TC) == RESET); //???USART_SendData(USART3, (unsigned char)ch); //???return ch;}#pragma impo...

2019-10-14 10:25:03 2667

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除