
单片机
文章平均质量分 63
逼近45度角
有些事现在不做,难道等到80再做吗!
展开
-
Arduino读取西门子PLC数据/S7协议通讯
S7协议是西门子公司工业设备专用通讯协议,有开源协议snap7开源库可以对数据进行读写,支持多个平台和语言甚至是Arduino板卡上,我这里分享下使用方法。原创 2022-09-24 11:48:29 · 4131 阅读 · 0 评论 -
keil下使用J-link连接STM32常见问题解决
针对J-link V9使用中常出现的问题文章目录使用环境:常见问题:正常连接了J-link和STM32的窗口显示:使用环境:keil5软件下使用SW模式(SW优势:可软件复位,少接一根复位线)连接单片机下载调试。常见问题:1.找到下载器,找不到单片机设备1.接线错误2.SW时钟调低,频率高了容易协议出错,检测不到设备,适当调低频率,如果调很低才能检测到,可能是原因33.SW数据线不能太长,两根数据线单独走,减少干扰4.开发板需要单独供电5.原先程序里占用SW接口引脚,将BOTO0引脚置原创 2021-09-24 10:37:16 · 12893 阅读 · 4 评论 -
使用STM32定时器实现PWM输出
STM32定时器实现PWM原理:上图就是STM32一个简单的PWM原理示意图。图中,我们假定定时器工作在向上计数PWM模式,且当CNT<CCRx时,输出0,当CNT>=CCRx时输出1。那么就可以得到如上的PWM示意图:当CNT值小于CCRx的时候,IO输出低电平(0),当CNT值大于等于CCRx的时候,IO输出高电平(1),当CNT达到ARR值的时候,重新归零,然后重新向上计数,...原创 2019-04-07 09:58:31 · 5750 阅读 · 0 评论 -
STM32定时器做外部计数器
实现简述:定时器有如下几种功能用法:1>定时。使用内部时钟源2>PWM调制输出。使用内部时钟源3>脉冲宽度(频率)测量。使用内部时钟源,外部边沿触发4>脉冲数计数。使用外部时钟输入我们这里使用了TIM5定时器做“脉冲数计数”,定时器做外部脉冲计数,首先要确定外部时钟信号输入的引脚,我们这里选择的是TIM5(也可以选择其它定时器STM32有多个定...原创 2019-04-07 10:19:30 · 29907 阅读 · 10 评论 -
STM32定时器之定时
**简述:**STM32实现TIM2的一秒定时间隔进中断,TIM_TimeBaseStructure.TIM_Period = arr;//计数器等于arr时,重装计数器为0TIM_TimeBaseStructure.TIM_Prescaler = psc; //定时器分频arr、psc 这2个参数用来设置TIM2的溢出时间。因为系统初始化SystemInit函数里面已经初始化APB...原创 2019-04-07 10:50:38 · 3516 阅读 · 0 评论 -
FreeRTOS 使用 printf("%f") 时卡死
问题:在任务里使用printf("%f")打印浮点数时出现出现卡死,但是改成打印printf("%d")打印整数又正常。原因:printf("%f")打印浮点数时消耗了很多栈空间,堆栈空间太小.解决:创建任务时将堆栈大小改大,或者改用为FreeRtos优化改进的printf函数. xTaskCreate((TaskFunction_t )task1, ...原创 2019-04-14 14:23:16 · 6818 阅读 · 2 评论