- 博客(18)
- 资源 (3)
- 收藏
- 关注
原创 I2C通信协议学习笔记
I2C通信学习笔记基于STM32F407ZGT6实现1. 概述 I2C(Inter-Integrated Circuit,内部集成电路)总线是由PHILIPS公司开发的两线式串行通讯总线,由数据线SDA和时钟SCL构成的。I2C总线支持任何IC,每个器件有唯一的地址识别,可作为一个发送器或一个接收器,实现CPU与被控IC之间、IC与IC之间的双向传送。高速I2C总线一般可以达到400kbps以上。 I2C总线在传送数据过程中共有三种类型的信号,分别是:开始信号、结束信号、应答信号。 开始信号
2022-04-19 15:27:48
5808
1
原创 STM32F4: startup_stm32f40_41xxx.s仿写
内容极大部分参考了Huo的藏经阁的此链接的博客。源码是 startup_stm32f40_41xxx.s; SieYuan Copy!;******************** (C) COPYRIGHT 2014 STMicroelectronics ********************;* File Name : startup_stm32f40_41xxx.s;* Author : MCD Application Team;* @version
2021-12-03 21:58:54
571
原创 STM32:F407步进电机S形加减速算法的实现
项目中对步进电机运行速度有了新要求,所以尝试实现梯形加减速算法,S形加减速算法。本文主要实现S形加减速算法。原理/思路步进电机有启动频率这一概念。在启动时有一个最大启动频率,在低于最大启动频率的速度下开始运行,然后通过逐渐加速而达到较高的运行速度,减速亦然。S形加减速算法,也可以通过提前设置速度表或通过输入参数计算出速度表,这两种方式来实现。上一篇梯形加减速算法中我提前设置的速度表,所以这篇我将通过计算的方式得到速度表。代码实现X_Step_Motor.h和X_Step_Motor.c,是
2021-01-19 14:47:05
7573
12
原创 STM32:F407步进电机梯形加减速算法的实现
项目中需要对步进电机进行较为精准的控制。之前写过采用定时器主从模式输出精准脉冲个数的文章。后来项目推进,对步进电机的运行速度有一定的要求。但步进电机的启动频率较低,不能直接达到较高的速度。故尝试使用梯形/S形加减速算法。加减速算法的实现中,我没有采用之前的定时器主从模式的方式。因为没有想到如何消除在定时器中断服务程序中切换PWM波输出频率时产生的短暂延时。看来很多文章,还是试着用翻转电平的方法来产生PWM波。原理/思路...............
2021-01-19 11:51:55
9816
38
原创 STM32:F103/F407定时器主从模式输出精准脉冲个数
STM32F103/STM32F407 主从定时器模式,输出精准秒冲个数PWM波。
2020-12-10 13:17:19
12340
38
原创 树莓派入门(二)——自动连接WIFI/设置静态IP
因为每次远程登录都需要用网线连接路由器,我觉得十分不方便,因此寻找一种开启树莓派自动连接WIFI的方法,并设置静态IP,以方便用VNC远程登录。按照网上的方法,遇到的第一个问题就是要修改权限。备注:以下方法来自https://www.cnblogs.com/blange/p/8854863.html的文章修改权限设置root用户密码(当切换至root用户下,该命令无效)。sudo ...
2020-02-18 13:20:53
1122
原创 树莓派入门(一)——启动/简单配置
树莓派入门心血来潮,想学习一下树莓派。从网上买了一块树莓派,目前的想法是做一个视频监控的小东西。文章主要是为了给自己用来总结经验和加深印象的。树莓派型号:RASPBERRY 3B+第一步:安装系统官网下载地址:https://www.raspberrypi.org/downloads/链接镜像:http://downloads.raspberrypi.org/raspbian_lat...
2020-02-17 14:54:12
882
原创 C Primer Plus—第十章编程习题
C Primer Plus 编程习题-第十章-数组和指针C Primer Plus 10.13编程练习第一题/* C Primer Plus 10.13 —— 编程练习第一题 *//* 题目:修改程序清单10.7的rain.c程序,用指针进行运算(仍然要声明并初始化数组)。 */#include <stdio.h>#include <stdio.h>#d...
2020-02-13 20:35:46
780
原创 C Primer Plus—第九章编程习题
C Primer Plus 编程习题-第九章-函数C Primer Plus 9.11编程练习第一题/* C Primer Plus 9.11 —— 编程练习第一题 *//* 题目:设计一个函数min(x, y),返回两个double类型值的较小值。在一个简单的驱动程序中测试该函数。 */#include <stdio.h>#include <stdlib.h&...
2020-02-10 21:30:15
751
原创 C Primer Plus—第八章编程习题
C Primer Plus 编程习题-第八章-字符输入\输出和输入验证C Primer Plus 8.11编程练习第一题/* C Primer Plus 8.11 —— 编程练习第一题 *//* 题目:设计一个程序,统计在读到文件结尾之前读取的字符数 */#include <stdio.h>#include <stdlib.h>int main(void)...
2020-02-07 16:29:01
742
原创 C Primer Plus—第七章编程习题
C Primer Plus 编程习题-第七章-C控制语句:分支和跳转C Primer Plus 7.12编程练习第一题/* C Primer Plus 7.12 —— 编程练习第一题 *//* 题目:编写一个程序读取输入,读到#字符停止,然后报告读取的空格数、换行符数和所有其他字符的数量。 */#include <stdio.h>#include <ctype....
2020-02-05 21:06:13
851
原创 C Primer Plus—第六章编程习题
C Primer Plus 编程习题-第六章-C控制语句:循环C Primer Plus 6.16编程练习第一题/* 题目:编写一个程序,创建一个包含26个元素的数组,并在其中储存26个小写字母。然后打印数组的所有内容。 */#include <stdio.h>int main(void){ char ch[26]; int i; for (i = 0; i...
2020-02-04 12:20:18
1130
5
原创 C Primer Plus—第五章编程习题
C Primer Plus 编程习题-第五章-运算符、表达式和语句C Primer Plus 5.11编程练习第一题/* 题目:编写一个程序,把用分钟表示的时间转换成用小时和分钟表示的时间。使用#define或const创建一个表示60的符号常量或const变量。通过while循环让用户重复输入值,直到用户输入小于或等于0的值才停止循环。*/#include <stdio.h&g...
2020-02-04 12:13:28
726
原创 C Primer Plus—第四章编程习题
C Primer Plus 编程习题-第四章-字符串和格式化输入/输出C Primer Plus 4.8编程练习第一题/* 题目:编写一个程序,提示用户输入名和姓,然后以“名,姓”的格式打印出来*/#include <stdio.h>int main(void){ char name[40], first_name[40]; printf("Please inpu...
2020-02-04 12:09:36
295
原创 C Primer Plus—第三章编程习题
C Primer Plus 编程习题-第二章-C语言概述C Primer Plus 3.11编程练习第一题/* 题目:通过试验(即编写带有此类问题的程序)观察系统如何处理整数上溢、浮点数上溢和浮点数下溢的情况。*/#include <stdio.h>int main(void){ unsigned int a = 666666666; float b = 2.0E...
2020-02-04 12:03:34
305
STM32:F103/F407定时器主从模式输出精准脉冲个数
2020-12-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人