单片机
apple-wxy
这个作者很懒,什么都没留下…
展开
-
在单片机上利用一个定时器和二行代码轻轻松松实现多任务的运行(基于时间片)
因为我常用的是stm32F4系列单片机,所以采用其滴答定时器作为时基定时器(如果你使用的单片机是别款,只要单片机上有个定时器都可以,另外也得有中断处理函数)(另外如果用的是stm32等单片机,片上具有滴答定时器,可以省掉1、2步骤,在HAL库下直接用HAL_GetTick()代替GetCount()即可,其他类似)1.首先初始化定时器,本人一般设置定时时间为1ms,这个可以是具体情况而定。...原创 2019-02-03 12:33:12 · 3414 阅读 · 0 评论 -
基于Qt5-将串口助手打造成“示波器”
有段时间,做电赛题的时候,在那看波形调PID参数,因为要同时观察电压和两路电流,无奈只有一台示波器,遂有一想法,将单片机采集的电流数据通过串口发送给上位机,然后在上位机上以波形的形式显示出来,方便观察。因为时间问题,都是现学现用,整体做的很简陋,只是实现了要用到的功能,还请选择性浏览。1.上位机是基于Qt5编写的,还用到了用于绘图第三方库--qcustomplot,具体使用可以百度,我这里...原创 2019-02-06 11:35:18 · 3994 阅读 · 5 评论 -
stm32-利用cubemx创建互补pwm---基于HAL库
1.打开CUBEMX,创建一个工程,我用的是stm32f407,这个随自己的板子型号来选,然后点击RCC,如图操作:2.点左边的Timers,我这里选用Tim1,实际可以随你自己的选,具体如图:3.进行Tim1的相关配置4.相关管脚的配置:5.时钟树的配置,这个没啥好讲的,根据自己的开发板来:6.项目名和存放位置(最好全英文,免得出现莫名其妙的错误):...原创 2019-03-21 18:44:03 · 13844 阅读 · 14 评论 -
初试--移植u8g2库到stm32
无独有偶来想来移植u8g2来玩玩硬件清单: stm32f334核心板一块(没用stm32f1是因为f1的排针焊反了,不好直插,f1类似) 0.96寸的Oled屏,为4线SPI连接 还有一个下载器DAP软件清单: keil5和cubemx先在cubemx创建一个相关的工程并生成代码,用软件模拟spi:(总览)然后去u8g2的githu...原创 2019-07-13 15:38:48 · 9471 阅读 · 0 评论 -
stm32-利用stm32f334的Hrtim定时器创建多路互补pwm波--基于HAL和CubeMx
最近在用stm32f334,在此留个笔记有关f334的Hrtim定时器的高精度,大家可以自行百度,我就不做搬运工了。1.现在CubeMx中创建一个相关的工程,先是rcc和sys的设置2.HRTIM定时器的配置接着先配置时钟树再回到HRTIM定时器的配置中(图中的频率标错了,0太多没数清,实际是产生100kHZ)TimerB和TimerC与TimerA一样,就不贴图了生成项...原创 2019-07-23 21:10:57 · 6499 阅读 · 0 评论 -
stm32-利用cubemx创建多路adc采集并开启DMA进行搬运,基于HAL库
1.开发板stm32f103c8系列,打开cubemx,选择单片机型号(实际可随自己的板子型号来)2.配置好相关rcc的HSE为外部晶振和sys的Debug模式其中sys的debug模式,我这里用的是DAP下载器,所以如下图,如果是其他下载器,建议自行百度如何选择。3.ADC的配置,实际按自己的需求来相关dma配置,这里模式选择循环,这就不需要每次调用相关函数去获取adc的值了。...原创 2019-07-23 09:30:59 · 21092 阅读 · 15 评论 -
stm32-硬件I2C的使用(以24C256举例)--基于HAL库和CubeMx
1.硬件清单stm32103c8核心板一块24C256DAP下载器(这个随自己的来)2.打开CubeMx,创建相关工程先是rcc和sys的配置I2C的配置,先说明I2C会有一个BUG,生成工程后可改。另外可配置串口,来观察是否通信成功时钟树的配置,就不啰嗦了,该怎么来就怎么来生成Keil 5工程3. 打开相关Keil 5工程先解决I2C的bugmai...原创 2019-08-01 10:35:55 · 4229 阅读 · 0 评论