- 博客(42)
- 收藏
- 关注
原创 关于ros工作空间devel下setup.bash的理解
Ubuntu默认使用的终端是bash,需要在bash中设置ros环境变量,最好把它放在家目录的.bashrc目录下,以便系统启动时能够执行其中的source /opt/ros/kinetic/setup.bash指令,使得工作空间中的环境变量可以生效,这样系统终端能够读懂ros命令,执行相应的操作。这句的目的就是在开新的terminal的时候,运行这个setup.bash,而这个setup.bash的作用是让一些ROS* 开头的命令可以使用。是home目录下的一个shell文件,用于储存用户的个性化设置。
2023-08-22 18:27:06
3250
原创 PWM控制蜂鸣器,风扇,马达实验
通过以上框图分析可知,需要分析芯片手册RCC章节、GPIO章节、TIM4章节1、RCC章节:使能GPIOB组控制器、TIM4组控制器2、GPIO章节:1)设置引脚为复用功能模式 2)设置对应的复用功能3、TIM4章节:如何产生一个PWM方波信号。
2023-06-16 19:43:47
319
原创 自定义vector模板类
构造函数 析构函数 拷贝构造 拷贝赋值 at() empty() full() front() back() size() clear() expand() 二倍扩容函数 push_back() pop_back()
2023-05-15 22:09:17
210
原创 封装一个循环顺序队列类(Stack)
私有成员属性:存放队列的数组、两个变量分别记录队头和队尾下标。公有成员函数: 入队(push( type value ))求队列长度(size()):要求时间复杂度在常量级别。手动封装一个循环顺序队列类(Stack)判满( bool full())判空(bool empty())
2023-05-09 20:41:23
417
原创 linux中连接sqlite3数据库的简单操作
printf("请输入您要修改的id行号以及要修改的 name score\n");printf("请输入您要插入的信息 id name score\n ");printf("---------1.插入------\n");printf("---------2.删除------\n");printf("---------3.修改------\n");printf("---------4.查询------\n");printf("---------5.退出------\n");//创建并打开数据库。
2023-04-25 19:50:03
511
原创 select TCP服务器
printf("[%s : %d]newfd = %d 连接成功__%d__\n",inet_ntoa(cin.sin_addr),\。if(FD_ISSET(i,&tempfds) == 0) //i所代表的文件描述符不在集合中。printf("[%s : %d] newfd = %d 客户端下线__%d__\n",\。printf("触发键盘输入事件>>>>>>\n");//获取客户端发来的数据,客户端下线后,关闭文件描述符,返回被关闭的文件描述符。if(0 == i) // 发送信息给客户端。
2023-04-24 20:34:12
202
原创 C语言并发服务器
printf("[%s:%d] newfd = %d 客户端已下线\n",inet_ntoa(cin.sin_addr),ntohs(cin.sin_port),newfd);printf("[%s:%d]newfd = %d 客户端已下线\n",inet_ntoa(cin.sin_addr),ntohs(cin.sin_port),newfd);%d]newfd = %d 连接成功\n",inet_ntoa(cin.sin_addr),ntohs(cin.sin_port),newfd);
2023-04-23 21:18:37
219
原创 tftp上传下载文件---客户端
printf("无法识别你输入的操作码,请重新输入\n");printf("接收错误,下载文件失败\n");printf("发生错误,上传文件失败\n");printf("*********请输入您要执行的操作\n");printf("正在写入文件...\n");printf("*********1:下载\n");printf("*********2:上传\n");printf("下载成功\n");printf("发送上传请求\n");//填充服务端地址信息结构体。//发送下载请求到服务端。
2023-04-22 19:00:33
265
原创 搭建简易TCP服务端,客户端
/recv最后一个参数flags填0时,函数等价于read。printf("[%s : %d]newfd = %d 客户端下线__%d__\n",\。//端口号是short类型16bit。printf("服务器下线了\n");printf("请输入>>>");printf("发送成功");//允许端口快速被重复利用。
2023-04-20 21:36:18
344
原创 字节序的概念,以及使用共用体判断计算机是大端存储还是小端存储
字节序是指不同类型的cpu主机,内存储存多字节整数序列的方式。int,short long longlong有字节序。浮点类型,字符类型,字符串是没有字节序这种方法的。printf("小端\n");printf("大端\n");小端字节序:低序字节存储在低地址上。大端字节序:低序字节存储在高地址上。
2023-04-19 20:29:59
390
原创 IO-进程间的通讯机制
int fd;if(argc!= 2)return -1;= EEXIST)return -1;while(1)if(!exit(0);return 0;int fd;if(argc!= 2)return -1;while(1)if(!exit(0);return 0;输出结果:
2023-04-14 20:21:22
40
原创 IO练习题
3.父进程循环从键盘输入数据写入到文件上,子进程利用usleep(200)休眠200us,然后循环从文件中读取数据打印到屏幕上,如果父进程输入quit,父子进程结束。1.用文件IO以读写的方式打开一个文件。2.利用fork()函数创建子进程。
2023-04-12 21:50:48
83
原创 查找目录中的链接文件,将文件名添加到文件中,再输出
return -1;return -1;while(1)break;//写入while(1)break;return 0;输出结果:
2023-04-11 21:47:43
59
原创 用fgets和fputs实现要求拷贝一个文件,并输出拷贝的行数
@param [ in] src_file:被拷贝的文件 dest_file:复制文件的目的地。* function: 拷贝文件内容到另一文件中。
2023-04-10 20:18:40
54
原创 c++双向链表相关操作
printf("头结点不存在,插入失败\n");* @return 成功返回地址,失败返回NULL。* @return 成功返回地址,失败返回NULL。printf("请输入您要输入的字符串个数\n");* @return 成功返回0,失败返回-1。* @return 成功返回0,失败返回-1。* @return 成功返回0,失败返回-1。printf("头结点为空\n");printf("遍历失败\n");printf("删除失败\n");
2023-04-03 21:55:58
41
原创 数据结构 ---链栈的使用(实现十进制数转换为二进制)
@return 成功返回地址 失败返回NULL。* @return 成功返回0 失败返回-1。printf("请输入您要转换的数\n");printf("头插失败\n");printf("头删失败\n");printf("遍历失败\n");* function: 创建结点。* function: 链栈遍历。* @return 无返回值。* function: 释放空间。* function: 入栈。* function: 出栈。
2023-04-03 19:21:10
206
原创 数据结构---链表相关操作
/查找元素的位置,查找成功返回位置,失败返回-1。//查找元素的位置,查找成功返回位置,失败返回-1。printf("您要查找的元素为:%d\n",p->data);printf("查找值的位置是%d\n",pos);printf("请输入您要插入的数值:\n");printf("请输入您要输入几个数值:\n");/*printf("请输入您要插入的位置\n");/*printf("请输入您要删除的位置\n");/*printf("请输入您要修改的位置\n");
2023-03-30 20:47:42
27
原创 数据结构Day2--顺序表的相关操作
printf("元素的下标为:%d\n",search_data(list,e));* @return 成功返回0,失败返回-1。* @return 成功返回0,失败返回-1。* @return 成功返回0,失败返回-1。* @return 成功返回0,失败返回-1。* @return 成功返回0,失败返回-1。* @return 成功返回0,失败返回-1。* @return 成功返回0,失败返回-1。
2023-03-29 20:08:28
30
原创 数据结构day02---结构体共用体练习
printf("姓名:%s 性别:%c 职业:%c 职务:%s\n ",(p+i)->name,(p+i)->sex,(p+i)->job,(p+i)->position);printf("姓名:%s 性别:%c 职业:%c 分数:%.2f\n ",(p+i)->name,(p+i)->sex,(p+i)->job,(p+i)->score);printf("品牌:%s 颜色:%s 单价:%.2f\n",(p+i)->brand,(p+i)->color,(p+i)->price);
2023-03-28 19:37:31
52
原创 数据结构Day01
printf("字符串1的长度为%d\n",my_strlen(s1));printf("字符串2的长度为%d\n",my_strlen(s2));5> 定义函数,实现连接后字符串的冒泡排序【是对字符串的每一个字符进行排序】printf("连接后的字符串为:%s\n",s3);printf("排序后的字符串为%s\n",s3);printf("字符串1逆置后为%s\n",s1);printf("字符串2逆置后为%s\n",s2);printf("请输入字符串:\n");1> 定义函数,实现在堆区申请空间。
2023-03-27 20:57:49
52
原创 嵌入式作业Day09---定义字符串函数
/n>0,字符串1大于字符串2 n <0相反 n=0 两个字符串相等。printf("string 字符串大于 string2\n");printf("string2 大于 string \n");//两个字符串的ascii吗值。printf("该字符串的长度为:%d\n",len);printf("拷贝后的字符串为%s\n",str);printf("连接后的字符串为%s\n",str);printf("两个字符串相等\n");
2023-03-23 19:09:26
83
原创 嵌入式作业Day08----指针
作业3:定义一个长度为5的一维数组,在主函数内实现输入元素功能,调用函数实现该数组的降序输出,要求形参与实参皆使用指针完成。作业4:定义一个长度为5的一维数组,在主函数内实现输入元素功能,调用函数实现该数组的逆置,要求形参与实参皆使用指针完成。作业2:定义函数实现,主调函数中,输入6名学生成绩,调用函数求6名学生成绩的平均值,将平均值返回给主函数并输出。作业1:定义有参函数实现,主调函数中输入两个数据,通过函数调用,交换该两个变量的值,主调函数输出交换后的结果。printf("不规范,重新输入\n");
2023-03-22 20:18:19
88
1
原创 嵌入式作业Day07---函数
printf("该字符串中一共有%d个数字字符\n其中奇数有%d个\n偶数有%d个\n和为:%d\n平均值为:%.2lf\n",count,odd,even,sum,age);printf("需要缴纳的电费为:%.2f\n",100*0.35+100*0.46+(kWh-200)* 0.68);printf("需要缴纳的电费为:%.2f\n",100 *0.35 + (kWh -100) * 0.46 );printf("需要缴纳的电费为:%.2f\n",kWh * 0.35);
2023-03-21 21:07:46
72
原创 嵌入式作业Day06---数组
printf("第%d组的最高成绩为%d,最低成绩为%d\n",i+1,max,min);printf("请输入第%d组第%d名学生的成绩:\n",i+1,j+1);printf("大于平均值的比重为%f\%\n",1.0*count/10*100);printf("请输入第%d名学生的成绩\n",i+1);printf("请输入第%d名学生的成绩\n",i+1);printf("该数组的总和为%d\n",sum);printf("十名同学的成绩分别是:\n");double age;
2023-03-20 20:59:28
64
原创 嵌入式作业Day05--循环控制语句
/作业1:输出从起始值到终止值之间,所有能被3或5整除的所有数,起始值和终止值由用户输入。printf("该数不为素数\n");printf("该数为素数\n");printf("该数不为素数\n");printf("该数不是完美数");printf("该数是完美数");printf("请输入两个数字");printf("请输入一个整数");printf("请输入一个整数");printf("请输入两个数字");printf("请输入两个数字");
2023-03-17 20:11:53
94
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人