- 博客(47)
- 资源 (5)
- 收藏
- 关注
原创 esp32 usb cdc串口读写
/ 读取一行数据,直到换行符。// 在USB CDC On Boot使能(Enabled)情况下,这里是USBCDC。if (Serial.available() > 0) { // 检查是否有可用的数据。delay(100);// 短暂延时以避免过度占用处理器。// 去除首尾的空白字符。在arduino软件配置。
2024-07-13 13:00:31
410
原创 树莓派pip报错,ca证书问题
Exception:Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 215, in main status = self.run(options, args) File "/usr/lib/python2.7/dist-packages/pip/commands/install.py", line 353, in run wb.bu...
2021-03-17 08:43:14
1077
原创 记录一下nodemcu次品固件下载不进去的发现过程
正常情况下nodemcu的下载模式gpio0拉低,也就是板子上的flash按键按下不丢,然后去按下reset按键。然后esp8266 download tool就会提示在下载。但是我的板子连续操作,各种操作操作操作操作后,还是下载不进去。但是有个现象是板子的AT指令,我通过串口助手发过去,板子可以正常的回复,初步判断板子里边的固件没问题,有些下载不进去的原因是程序跑乱了,需要清除固件也就是下载一个...
2020-03-18 16:30:27
1152
原创 C++ =号和默认拷贝构造函数
本文分析 等号在何时会调用默认拷贝构造函数,何时是复制。 Name obj1("abcdefg"); Name obj2 = obj1; //此处不是赋值,会调用copy构造函数 Name obj3("obj3"); obj3 = obj1; // 此处的=为复制obj1的数据,不调用copy构造函数也就是说当obj不存在的时候去=对象的时候就会...
2019-12-11 21:14:06
955
原创 如何在pycharm下命令行下进行django的数据库操作实验
在terminal中输入python manage.py shell进入python脚本编写命令行中,然后from app.models import 你的数据类.然后就可以测试你的数据库操作语句了
2019-12-06 22:11:17
501
原创 django使用MYSQL && 远程Mysql可以远程连接
1、首先安装mysqlwget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpmsudo rpm -ivh mysql57-community-release-el7-8.noarch.rpmsudo yum install mysql-server1.1 设置密码当第一次启动MySQL服务器时...
2019-11-23 17:36:22
400
原创 coolq使用(二)
上文讲了coolq的安装,以及可以正常通信。本文主要开始说明coolq应用层。基于nonebot,因为nonebot创了好多轮子了。之前利用qqbot做过远程播放电脑上的音乐等,物联网方面也做过通过给qq发消息就可以控制硬件等。本文主要是做一个爬虫,发送到指定的qq上。按照nonebot的教程完成,比较简单,就直接给出代码了。代码连接 https://download.youkuaiyun.com/...
2019-10-11 20:12:17
805
原创 coolq使用(一)
以前使用qqbot比较方便,但是最近再使用qqbot的时候,发现用不了了,所以就转为coolq了。下边记录一下coolq的使用过程。本文使用的是百度云,centos系统。coolq官网文档地址 https://cqhttp.cc/docs/4.11/#/1、根据官网文档提示,先安装docker。centos命令如下如何查看自己是不是centos,使用这条命令即可。安装一些必要的系...
2019-10-11 19:37:03
4772
原创 火狐如何新建页面为自定义网址,比如百度搜索或者是必应搜索。
安装New Tab Override 新标签页覆盖开关扩展插件就行了。然后在选项-》这样设置以后,新建立的标签页就是必应搜索了。这样默认就使用必应了。
2019-10-11 16:12:58
3012
3
原创 stm32驱动sd卡问题记录
问题记录:将程序从51单片机移植到stm32以后就一直出现一个问题,单片机不能以很高的速度驱动sd卡,导致数据采集的速度一直跟不上。但是在测试的过程中发现程序在debug下是可以正常驱动的,试图通过对比正常启动驱动和在debug下的区别来发现原因。发现debug下单片机的复位是通过软件复位来完成的,硬件直接启动通过外部的阻容复位。后来就一直纠结硬件的复位问题,后来又发现启动后通过手动复位sd卡驱动...
2019-06-01 11:29:28
1588
1
原创 LAN9252采用外部阻容复位的时候,RESET引脚一直为低的原因以及对应解决办法。
首先要明确一点,LAN9252的reset引脚一直为低电平,这个是错误带来的结果而不是导致板子不正常的原因。只要LAN9252的外围电路不正确,都会带来复位不会结束,那么就会导致复位角一直为低电平。我遇到的现象,twicat扫描不到从站,后来检测发现板子的VDDCR输出的电压为1.6v(当9252电路中对应的那些磁珠焊接为0欧姆的时候,如果焊接的磁珠阻值大一点的话这个电压值会相应减小)。其...
2019-02-26 16:20:29
4133
3
原创 xenomai queue测试程序
同样的,记录下xenomai的queue通信的测试程序。程序的现象是,程序运行以后,从命令行中输入的数据,会通过queue发送到另一个任务,并打印出来。#include <errno.h>#include <signal.h>#include <string.h>#include <sys/resource.h>#include <...
2019-01-12 18:44:32
789
原创 xenomai任务切换测试程序
最近在做igh主站的毕设,由于实时性的原因,所以用到了xenomai,下边记录一下任务切换的测试程序#include <errno.h>#include <signal.h>#include <string.h>#include <sys/resource.h>#include <unistd.h>#include <...
2019-01-12 18:41:58
1321
原创 IGH主站在配置PDO的时候,PDO entry 0x7010:02 does not byte-align in config 0:0错误
下边是IGH的 mail list。大意就是使用ecrt_slave_config_reg_pdo_entry()来代替ecrt_slave_config_pdos()来进行注册。Hi Christian!Instead of passing the structs to ecrt_slave_config_pdos(), you can use ecrt_slave_config_re...
2019-01-12 18:28:17
1792
原创 Switch中的default陷阱
当年学C语言switch开关语句的时候,很多人会告诉你它是这么用的: switch(表达式){ case常量表达式1: 语句1;break; case常量表达式2: 语句2;break; … case常量表达式n: 语句n;break; default: 语句n+1;break; 其语义是...
2018-09-26 21:04:27
1036
原创 C语言 > 号运算符的优先级,笔试题
#include <stdio.h>int main(){ int a=1,b=2,c=2,t=0,x=0; while(a<b<c) { t=a;a=b;b=t;c--; } printf("%d,%d,%d\n",a,b,c);} 输出1,2,0<具有从左向右结合的特性,所...
2018-09-26 20:43:30
1834
原创 C语言逗号运算符 笔试题
c语言提供一种特殊的运算符,逗号运算符,优先级别最低,它将两式联接起来,如:(3+5,6+8)称为逗号表达式,其求解过程先表达式1,后表达式2,整个表达式值是表达式2的值,如:(3+5,6+8)的值是14,(a=3*5,a*4)的值是60,原因在于赋值运算优先级高于逗号表达式。逗号表达式的要领:1.从左到右逐个计算;2.逗号表达式作为一个整体,它的值为最后一个表达式的值;3. 逗...
2018-09-26 20:41:29
2408
原创 In file included from scripts/kconfig/lxdialog/checklist.c:24:0: scripts/kconfig/lxdialog/dialog.h:3
问题:在Linux环境make menuconfig的时候出现一下错误。 In file included from scripts/kconfig/lxdialog/checklist.c:24:0: scripts/kconfig/lxdialog/dialog.h:32:20: fatal error: curses.h: No such file or directo...
2018-09-06 09:46:11
1123
原创 如何将python的二维元祖变为一维的列表
如下例子:from itertools import chaintest=(("123","234"),("222","222"))print(list(chain.from_iterable(test))) #打印 ['123', '234', '222', '222']
2018-09-01 14:54:49
1755
原创 django后台, 如何不自己写view,注册一个模板变量到后台
需求使用django后台,插入数据的时候,我想查询插入数据的合法性,比如数据表中gprsid已经被占用,如果被占用那么继续插入的话,在后台给用户一个友好的弹窗提醒,是不是要强制继续插入数据,或者不插入。因为这种错误提醒和django默认的错误提醒的要求不一样,所以我就想办法来从后台传递一个变量给前台。然后js拿到变量以后,开始动作。其实传递一个变量到后台很简单,代码如下,@admin.r...
2018-08-30 09:11:58
415
原创 再记录一下删除链表的倒数第N个元素
之前一直没关注过数据结构,最近猛刷一下。删除倒数第N个元素,也是用两个指针,一个是先走,走了N-1次,因为刚开始指向head,这一次就不用走了。然后再然back指针走,这样front指针走到结尾的时候(指向最后的指针的时候)那么back就是指向要删除的指针了,又因为删除指针,要知道这个指针的前一个指针,所以要用一个指针,记录back的前一个指针。当然还要判断倒数第N个链表节点是否存在。下边是代...
2018-08-27 15:30:23
165
原创 记录一下,C链表的反转
给自己复习使用,如果谁不幸搜到,请无视。如果忘记代码思路的时候,可以再推演一下图中的过程,需要三个指针,三个指针紧邻三个元素,每一次循环结束newfirst指向新链表的第一个元素,oldFirst指向旧链表的第一个,oldFirstNext指向旧链表的第一个的下一个。图中p ,q,r分别是上边说的三个指针。 代码实现:list * ReverseList(list * head)...
2018-08-27 11:58:46
259
原创 C链表是否有环,以及环的位置
node * ifCircle(node *head ){ node * fast=head,*slow=head; node * findInNode1,node *findInNode2; //为什么这里以fast!=NULL 和fast->next!=NULL //因为fast跑到快,所以这里以fast作为判断条件 //因为下边有fast->next->nex...
2018-08-26 20:42:29
26722
原创 环形buffer C语言简单实现
#include <stdio.h>#include <stdlib.h>#include <string.h>typedef struct circlebuffer{ int size;//用于判断环形buffer是否是满的 int wroffset; int rdoffser; char * buf; int buflen;}circl...
2018-08-26 19:09:05
4396
1
原创 mysql中查询一个商品价格最大的商品名称的sql出错记录
我是这样实现的,select goods_name,max(shop_price) from goods;然后报错如下 查询原因才知道,这个错误发生在mysql 5.7.5 和以后上,因为5.7.5默认的sql模式配置是ONLY_FULL_GROUP_BY,这个配置启用的是 “严格ANSIsql 规则”,严格ANSI sql 规则要求在group by的时候,没有聚合的列,在g...
2018-08-26 11:59:57
7701
原创 C语言动态数组
C语言数组目前我知道两种动态数组和环形buffer,先写一个动态数组,等下写个环形bufer。以下是代码和实验现象#include <stdio.h>#include <stdlib.h>#include <string.h>typedef struct damicArray{ int size;//使用量 int capacity; i...
2018-08-25 23:26:11
972
原创 linux下边的命令----grep
grep查找文件中的内容命令格式:grep "要查找的内容" filename-i 不区分大小写-n (line number)显示行号-c (count)显示有几条匹配的-v (invert match) 反向匹配,查找的不是你要查找的内容-H(Print the file name for each match. This is the default when th...
2018-08-25 22:38:10
162
原创 C语言不带头结点链表创建,删除,插入总结
一、创建链表1、第一种创建链表的方法,注意对比和第二种创建链表的细微之处,typedef struct mynode{ int num; float score; struct mynode * next;}Node,* Pnode;Pnode createList(){ Pnode head,currNode,ta...
2018-08-25 22:08:11
3491
转载 c语言的一级指针和二级指针作为函数参数,链表,malloc中的分配等等总结
主要内容:1、一级指针和二级指针2、函数指针传递的例子3、什么时候需要传递二级指针?4、二级指针在链表中的使用1、一级指针和二级指针一级指针:即我们一般说的指针,就是内存地址;二级指针:指向指针的指针,就是地址的地址;如:int a=1;int *p=&a; // p为a变量的地址,通过*p可以得到a的值int **q=&p; //...
2018-08-25 20:58:57
1806
2
原创 数据结构之单向链表代码。
记录单向链表的插入,打印,删除等操作代码,下边是代码#include <stdio.h>#include <stdlib.h>typedef struct Listnode{ void * data;//数据域可以是任意类型,比如下文的结构体 struct Listnode * next;}listnode;typedef struct{ listn...
2018-08-25 17:33:11
240
原创 解决ccs不能同时导入两个相同工程名的问题
习惯用keil,再来用ccs,很不方便的一点就是他的工作空间,主要他这个工作空间不能导入相同工程名字的工程,今天就把从网上找到的方法记录下来。找到同名工程中的project文件,打开圈红色的地方就是导入ccs中的工程名,所以这里把这个名字改成你所在工作空间不同的名字就可以了。接下来直接project->import ccs projects就可以了。...
2018-08-21 10:14:43
5899
原创 epoll中epoll_data_t 中fd和ptr的用法
文章是网上内容总结,为了自己下次好找,所以写到自己博客里边了。fd存放文件描述符,所以我们一般直接struct epoll_event event;event.events=EPOLLIN; event.data.fd = 0;//监听标准输入 epoll_data_t中的ptr怎么用呢?是给用户自由使用的。epoll 不关心里面的内容。用户可以用 epoll_data 这个 u...
2018-08-20 10:45:58
12943
4
原创 打印错误信息的宏定义
#ifndef __errmacros_h__#define __errmacros_h__#include <errno.h>#ifdef DEBUG#define DEBUG_PRINT(...) \ do { \ printf("In ...
2018-08-17 17:27:10
2541
转载 浅谈可重入函数与不可重入函数
在实时系统的设计中,经常会出现多个任务调用同一个函数的情况。如果有一个函数不幸被设计成为这样:那么不同任务调用这个函数时可能修改其他任务调用这个函数的数据,从而导致不可预料的后果。这样的函数是不安全的函数,也叫不可重入函数。相反,肯定有一个安全的函数,这个安全的函数又叫可重入函数。那么什么是可重入函数呢?所谓可重入是指一个可以被多个任务调用的过程,任务在调用时不必担心数据是否会出错。一个可...
2018-08-16 20:55:25
18381
2
原创 对stm32内存理解,查看以及面试题的一些总结(二)
当然这个图对于stm32的地址顺序是不对的,stm32 text在0x0800 0000 开始的,sram在0x02000 0000开始的,但是init data ,bss,heap和stack的顺序是对的,内存中就是这样排列的。首先看这个图程序由下边几部分构成的,bss,initial data ,code,heap,stack本来想记录下bss和initial的区别,但是我在stm...
2018-08-12 20:49:57
5814
1
原创 对stm32内存理解,查看以及面试题的一些总结(一)
基础知识储备1、keil中如何调用出map文件,以及map文件的作用我是拿正点原子的标准工程来使用分析。如何获得map文件,双击工程名即可得到map文件。2、map文件包含哪些东西1.Section CrossReferences:模块、段(入口)交叉引用;通俗一点就是函数之间互相调用的关系。2.Removing Unused inputsections from ...
2018-08-12 19:39:57
4738
原创 单片机编程中的野指针以及空指针的使用
什么是野指针?就是指向内存地址不确定的指针,从“野”字可以理解。什么情况下出现野指针?我们知道,没有初始化的全局变量和static修饰的局部变量都会被编译器默认初始化为0,所以这些指针变量的地址是确定的0,其实也是NULL,所以他们不是野指针。未赋值的局部指针变量的值是随机分配的,为野指针,例如//错误做法void test(){ char * p;//此时的p就是野...
2018-08-12 14:37:05
1942
原创 znFAT文件系统,增加修改文件名,以及查询一个文件夹下边的文件个数
代码以及使用方法已经放到github上了,使用方法跟之前的一样。可以去github上下载。说明,修改文件名,只支持短文件名https://github.com/iotPeanut/znfatFileSys-add-twofunctions...
2018-07-26 16:18:08
373
原创 linux下c创建僵尸进程、查看僵尸进程、杀死僵尸进程
僵尸进程(Zombie process)通俗来说指那些虽然已经终止的进程,但仍然保留一些信息,等待其父进程为其收尸。也就是说父进程没有结束,但是子进程结束了,父进程没死,没办法给子进程收尸,真的是只有父进程死了才能收尸,哈哈,同时也没有显示的调用wait/waitpid给其子进程收尸。当然,父进程提前死亡,子进程会交给init进程,所以收尸的问题就交给init进程了。百度百科的僵尸进程说的很好,可...
2018-07-26 15:41:41
27942
2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人