- 博客(52)
- 资源 (1)
- 收藏
- 关注
原创 STM32之按键作为外部中断控制led灯
基础概念STM32F4 的每个 IO 都可以作为外部中断的中断输入口,这点也是 STM32F4 的强大之处。 STM32F407 的中断控制器支持 22 个外部中断/事件请求。每个中断设有状态位,每个中断/事件都有独立的触发和屏蔽设置。 STM32F407的 22 个外部中断为:EXTI 线 0~15:对应外部 IO 口的输入中断。EXTI 线 16:连接到 PVD 输出。EXTI 线...
2020-02-01 09:54:46 17207 3
原创 【MIT6.S081】Lab7: Multithreading(详细解答版)
实验内容网址:https://xv6.dgs.zone/labs/requirements/lab7.html本实验的代码分支:https://gitee.com/dragonlalala/xv6-labs-2020/tree/thread2/关键点:线程切换、swtch。
2024-05-14 18:03:40 1182
原创 【MIT6.S081】Lab6: Copy-on-Write Fork for xv6(详细解答版)
实验内容网址:https://xv6.dgs.zone/labs/requirements/lab6.html本实验的代码分支:https://gitee.com/dragonlalala/xv6-labs-2020/tree//关键点: 内存引用计数、usertrap()、页表。
2024-05-03 14:18:28 1135
原创 【MIT6.S081】Lab5: xv6 lazy page allocation(详细解答版)
实验内容网址:https://xv6.dgs.zone/labs/requirements/lab5.html本实验的代码分支:https://gitee.com/dragonlalala/xv6-labs-2020/tree/lazy3/
2024-04-29 12:00:26 1018 2
原创 【MIT6.S081】Lab4: traps(详细解答版)
实验内容网址:https://xv6.dgs.zone/labs/requirements/lab4.html本实验的代码分支:https://gitee.com/dragonlalala/xv6-labs-2020/tree/traps2/
2024-04-21 15:39:13 1187
原创 【MIT6.S081】Lab3: page tables(详细解答版)
实验内容网址:https://xv6.dgs.zone/labs/requirements/lab3.html本实验的代码分支:https://gitee.com/dragonlalala/xv6-labs-2020/tree/pgtbl2/
2024-04-13 22:48:42 2028
原创 【MIT6.S081】Lab2: syscall(详细解答版)
实验内容网址:https://xv6.dgs.zone/labs/requirements/lab2.html。
2024-04-07 18:47:08 856
原创 【MIT6.S081】Lab1: Xv6 and Unix utilities(详细解答版)
实验内容网址:https://xv6.dgs.zone/labs/requirements/lab1.html。
2024-04-07 16:37:32 1482
原创 cubemx工程更换同系列stm32芯片型号
软件:cubemx v6.10、vscode、MDK v5.27旧型号芯片:stm32f103c8t6新型号芯片:stm32f103ret6。
2023-11-15 21:06:51 1757
原创 关于ST-Link的internal command error问题
有可能是电压不稳定,我的下载器用了杜邦线延长,有50cm左右,并且供电电压为3.3伏。实测芯片电源端电压为2.1伏,压降过于厉害。剪短下载线就恢复正常了。参考:https://blog.csdn.net/u014563989/article/details/53925836。
2023-11-14 15:34:19 465
原创 《操作系统-李治军》测验错题集
在系统调用的实现中,在int 0x80指令调用之前,给eax赋值的目的是什么?答:int 0x80是唯一能从CPL=3(用户态)到CPL=0(内核态)的指令跳转。启动保护模式以后,指令jmpi 0, 8执行和没有启动保护模式有何区别?应用程序中的系统调用为什么要展开成一段包含int 0x80的代码?实模式:cs<<4 + ip。保护模式:cs查表 + ip。答:得出跳转地址的方式不同。答:将来区分是哪个系统调用。
2023-08-05 17:14:05 239
原创 STM32外部中断给AB相编码器计数异常处理
现象楼主想实现的功能是使用编码器来实现电机旋转固定的圈数,做一个位置闭环。在电机排线(电源线+编码器线)为30cm时,计数正常,当线长到40cm时会出现无法到达指定的位置,通过一番调试后,确定问题在于编码器值的不正常变化。楼主的接线方式很简单,A相接外部中断引脚,B相接普通输入引脚。通过示波器来显示编码器的输出情况。上图为正常情况下的输出,蓝色为外部中断引脚,黄色为普通输入引脚。可以发现两条线在低电平时都有高频的波动。图中一个编码器周期为2ms。当我对电机轴施加负载,即用手阻止电机转动,减缓速度时,
2022-05-28 16:03:08 2478
原创 ctypes 传递opencv二值化图像给C++函数
ctypes 传递opencv二值化图像给C++函数C++文件,因为python-opencv的二值化图像其实是存在连续的一个二维numpy数组中的,且取值为0-255,因此这里是unsigned char*,还有一点要注意,若要打印出matrix[i*columns + j],需要cout<<(int)matrix[i*columns + j];这么写// 编译命令 g++ -o libtryPython.so -shared -fPIC tryPython.cpp#include<
2022-04-29 23:45:12 4606
原创 AURIX C/C++混合编程
AURIX C/C++混合编程前言实验平台:AURIX™ Development Studio 、龙邱TC264D核心板C++相比于C:C++的核心之一就在于面向对象思想。相比C语言常用的面向过程编程,面向对象编程的优势在于继承、封装、多态的特性,利用这种思想更有助于我们的程序实现模块化、抽象化。C++是一种天然支持面向对象编程的语言,在C语言的基础上,C++不仅提供了class关键字和类与对象的概念,使开发者可以清晰方便的实现面向对象编程。C++还支持数据封装和数据隐藏,支持继承和函数重载,因
2022-03-30 12:30:50 2057
原创 将Numpy数组通过ctypes模块传递到C++函数
将Numpy数组通过ctypes模块传递到C++函数一、问题重现网上将numpy数组通过ctypes传递到C/C++函数的教程不算多。这里有个参考例程。ctypes的运用(把一个numpy数组传入c中)cpp函数如下:python文件如下:这样运行的结果是正确的(看起来?)def sendToC(): arr = np.zeros((3,5),dtype = np.int32) # 指定元素类型,若不添加,默认为浮点型 arr[0,0]=0 arr[0,1]=1
2022-03-14 20:50:35 2997
原创 ssh第一次连接出错:WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED
ping 远程主机可以收到回复,但ssh连接不能成功解决方法:输入以下指令ssh-keygen -R 192.168.1.254192.168.1.254是刷完系统后的公钥,与本机不匹配,因此上述语句将公钥删除然后就可以进行ssh连接了参考:参考blog...
2022-03-13 14:31:48 1722
原创 在python-Numba中正确地使用列表(list)
在python-Numba中正确地使用列表(list)一、实验代码'''import numpy as npimport timeNUM = 160from numba import jita = [] # a为空列表,全局变量@jit(nopython=True)def fun1(): # 表明a为全局变量 global a for i in range(NUM): a.append(i) fun1()代码要实现的功能是在jit编
2022-02-28 23:05:17 4714
原创 Numpy二维数组遍历与二维数组切片后遍历效率比较
在python-numpy使用中,可以用双层 for循环对数组元素进行访问,也可以切片成每一行后进行一维数组的遍历。代码如下:import numpy as npimport timeNUM = 160a=np.random.random((NUM,NUM))start = time.time()for i in range(NUM): for j in range(NUM): if a[i][j] == 1.0: passend1 = t
2022-02-24 10:42:23 2964 1
原创 STM32汇编语言点亮led灯
STM32汇编语言点亮led灯首先,这篇blog的主要内容是在C语言中调用汇编语言写的函数。即在我们常用的标准库函数工程中,对外设(这里指led)使用汇编语言完成相关的寄存器配置和控制。一、背景课程的需要:微机原理课程设计中,需要使用汇编语言/部分汇编语言进行课程设计的开发。网上资料的稀缺:汇编相对于高级语言,更加偏向底层,编写代码的效率很低,资料较少,stm32汇编语言与教科书上8086汇编有一些差别,资料更加少。以下引用的例子是网上比较常见的关于stm32使用汇编点亮led灯的教程。STM32
2022-02-07 01:30:28 6740 3
原创 STM32报错解决:..\OBJ\LED.axf: error: L6002U: Could not open file ..\obj\main.o: No such file/
出现这个问题的原因主要有MDK的安装路径为中文,或电脑的用户名为中文,解决方法见如下的链接:常规的原因也有出现语法错误导致的,如下面这位博主的情况:语法错误而我遇到这个问题的原因比较难以确定main.c文件图标这里出现一个*号。这是因为当前文件Options for File->Properties中Include in Target Build没有选中,表示当前文件不编译(注;默认状态是选中)因此在main.c上右键点击,进入Options for File->Propertie
2021-12-12 22:16:32 22876
原创 esp32使用microPython 驱动 SPI屏幕
硬件连接esp32 的引脚图如下:但不同开发板所对应的引脚号可能不同。楼主使用的esp32引脚图如上。VCCVCCGNDGNDD0(SCK)P18D1(mosi)P5DCP16RESP17相关库及测试用例:https://github.com/zhcong/SSD1306-for-ESP32...
2021-09-03 00:18:12 2682
原创 win10:ESP32配置micropython环境
win10:ESP32配置micropython环境参考资料https://blog.csdn.net/xiaozhun1223/article/details/100060420上面这篇资料较为详细地说明了如何配置micropython环境,但仍有一些值得注意的地方。硬件连接使用带有数据传输功能的安卓数据线,esp32,确保连接电脑之后,可以在设备管理器中找到相应的端口号。软件环境首先电脑需要安装有python3环境。python3.7 安装教程确保python3.7 已经设置了环境变量
2021-09-01 20:11:13 471
原创 K66芯片解锁/J-link报错的解决思路
错误呈现:错误描述:Protection bytes in flash at add. 0x400 .0x40F indicate that readout protection is set.For debugger connection the device need. to be unsecured.Note: Unsecuring will tnigger a mass erase of the intemal flash.Do you want to unsecure the device
2021-04-10 10:24:08 3522 1
转载 在Linux上运行python脚本
1、直接使用python xxxx.py执行。其中python可以写成python的绝对路径。使用which python进行查询。2、在文件的头部(第一行)写上**#!/usr/bin/python2.7**,这个地方使用python的绝对路径,就是上面用which python查询来的结果。再用chmod改变文件的执行权限chmod +x test.py ,然后在外面就可以使用./test.py或test.py执行了。3、使用命令: python xxx.py因为在linux中,python啊.
2021-04-06 21:29:14 372
原创 解决PlatformIO开发环境串口监视器的默认波特率问题
打开.ini文件,添加 monitor_baud = 115200再打开串口就可以了
2021-02-03 14:43:59 934 2
原创 esp32环境配置搭建
esp32环境配置(从0到1)跟着链接的推文一步一步来!选择环境包下载失败/过慢发现即使按照上面的操作,运行get.exe也会下载包,因为版本不一样,于是等待下载。之后重启IDE,选择esp32 dev model ,发现会报错于是直接把AzureIoT文件夹删除,问题就解决了如果你出现编译出错的情况(应该会出现)那么,终极的解决方法:这里好了,现在编译应该是没问题了,下载到板子上吧下载的时候是通过串口下载。注意要选用可以传输数据的数据线,以及选对串口号。附:引脚原理图...
2021-02-02 21:32:14 425
原创 在pycharm中找不到已经安装的库?
pip安装了paddlepaddle后,在pycharm中找不到这个库。通过设置pycharm就可以解决:步骤连接
2021-01-14 20:15:32 1695
原创 git命令行上传本地文件夹
新建远程仓库复制这个地址在这里右击鼠标,选择git here输入指令git initgit add git remote add origin https://github.com/dragon-bean/K66gram.git(那个地址) git add -A git commit -m' sf' git push
2020-10-22 20:37:43 565
原创 10个装机必备的Chrome插件
本文将介绍Chrome应用商店上亲测很好用的提高工作、效率的小插件。文末附上插件下载安装教程。1、uBlock Origin这是一款广告过滤插件,体积小且占内存小,过滤效果很不错,安装之后就不会出现弹窗广告,让人更加专注于工作,学习。插件默认的过滤规则可以过滤掉绝大部分的广告,同时我们还可以自定义规则:自定义指定的网站过滤;自定义元素过滤。2、Block Site这是一款限制访问指定网站的插件,我们可以自定义每天限制的时间,比如8:00~16:00,在此期间,加入拦截站点的网站不可以访问,当然.
2020-08-28 15:14:12 1045
原创 手把手教你做stm32简易串口上位机(接收数据用)
笔者的开发板是正点原子的stm32F103zet6迷你板。串口的使用是USART1.单片机相关串口的程序就不讲解,编写上位机程序是使用C++语言,在VS2017里面编写,下面进入正题。一、相关知识大家可以先参考一下这篇blog,C++串口通信里面详细讲解了C++串口的相关知识,以及一些函数的讲解。下面我也会根据他的blog再讲解。二、实现过程1、打开串口:使用函数:HANDLE CreateFile();HANDLE CreateFile(LPCTSTR lpFileNameDWORD
2020-06-21 17:48:21 17606 15
原创 Word占用CPU很高?如何解决?已完结
事件原因:这几天在写近代史的论文,发现一打开文档,电脑的风扇就嗡嗡嗡转个不停,打开任务管理器一看好家伙!!!这里说明一下:我的电脑要是不联机的话,打开文档就是正常的,不会占用过多资源于是找遍全网:解决方法是:但是这种方法对我的情况并不适用。于是去找了微软的社区,发帖求助。那里应该是有技术人员给解答的,虽然没有直接解决我的问题,但是间接让我找到问题的解决方法。感觉这个社区挺好的,相当于售后。附上当时的帖子于是我就安照教程,结果不下心卸载掉了office,然后就只能重下呗。当时好像是下载
2020-06-14 00:05:22 18000 4
原创 Playsound函数和mcisedstring声音播放函数的使用
适用于.wav格式的音乐#include <windows.h>#include <MMSystem.h>#pragma comment(lib,"winmm.lib")PlaySound(L"m1.wav", NULL, SND_FILENAME | SND_ASYNC | SND_LOOP);//播放声音可多线程使用,同时播放不同的音乐#include...
2020-05-08 08:18:14 427
原创 超简单的C语言贪吃蛇(附源码)
所用知识:一维数组的使用结构体的使用播放音乐函数的使用电脑按键的检测窗口光标坐标函数的使用相关函数讲解1.光标移动到某一指定坐标的函数#include <windows.h>//坐标的APIvoid gotoxy(int x, int y){ HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE); COORD co...
2020-04-18 22:01:20 3255 2
原创 VC++6.0新建项目
文件—新建–WIN32 Console Application --命名和选择位置选择空工程选择FileVIEW点击 + 号选择文件–新建点击 + 号,选择刚刚新建的cpp文件,开始编码我用的是汉化版的,一般是英文版,大家参考操作...
2020-02-26 12:40:01 651
原创 使用分区助手给win10电脑C盘扩容
自从在C盘装了VS,C盘开始顶不住了,C盘的容量大小会影响到电脑的运行速度,一些缓存数据和临时文件就装在C盘,接下来教大家来扩容C盘,本文是缩小D盘的容量来给C盘扩容不建议使用系统自带的压缩卷扩展券操作,比较麻烦!!1.下载分区助手分区助手下载链接笔者选择的是专业版我是安装在C盘,觉得装在C盘修改系统内部的东西不会容易出错,毕竟分区其实蛮危险的,中途弄不好会导致数据丢失所以2.备...
2020-02-24 18:42:43 8980 4
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人