自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 资源 (7)
  • 收藏
  • 关注

原创 学习笔记——《计算机组成原理》

总线是连接各个部件的信息传输线,是各个部件共享的传输介质。

2024-04-01 21:26:03 906

原创 关于linux下环境配置遇到的坑

谈谈linux环境下开发踩过的坑

2023-02-17 16:46:41 933 1

原创 使用python对创芯科技CANalyst-II分析仪进行二次开发(详细教程)

使用python对创芯科技CANalyst-II分析仪进行二次开发

2023-02-02 17:43:54 4656 4

转载 python:实现快速更新字典

python修改字典里面的value

2022-11-17 21:51:57 3788

原创 Python: 实现鼠标点击tkinter窗口任意位置拖动

实现鼠标点击tkinter窗口任意位置进行拖动

2022-11-17 21:19:46 2810

原创 关于python多线程的一些理解

进程和线程的概念、用法及作用

2022-08-04 19:37:22 824

原创 成功解决:python打包成的exe文件,在电脑中打不开

使用pyinstaller命令打包.py文件,打包出的exe文件运行不了,提示“**此应用无法在你的电脑上运行。**”

2022-08-04 13:59:35 6303 1

原创 解决Python报错:SyntaxError: (unicode error) ‘unicodeescape‘ codec can‘t decode bytes in position...

解决Python报错:SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape

2022-08-03 21:50:04 12125

原创 python之click模块-创建命令行

使用click模块创建命令行。

2022-08-02 22:08:37 731

原创 python中@详解

python中@的含义?怎么用?

2022-08-02 16:58:05 37403 3

原创 Linux知识整理

Linux驱动字符设备驱动框架​ 字符设备就是一个一个字节,按照字节流进行读写操作的设备,读写数据是分先后顺序的。比如我们最常见的点灯、按键、 IIC、 SPI,LCD 等等都是字符设备,这些设备的驱动就叫做字符设备驱动。字符设备结构体在 Linux 中使用 cdev 结构体表示一个字符设备struct cdev { struct kobject kobj; struct module *owner; const struct file_operations *ops; //设备文件操作

2021-08-15 12:39:30 130

原创 蜂鸣器实验(正点原子战舰版——stm32F103ZET6)

一,总体过程使能IO口时钟。调用函数RCC_APB2PeriphColckCmd();不同的IO组,调用的时钟使能函数不一样。初始化IO口模式。调用函数BEEP_ Init();操作IO口,输出高低电平。二,工程文件创建1,在新建工程模板里新建“HAREWARE”文件夹,在里面创建BEEP文件夹,在里面新建beep.c和beep.h文件,添加到HAREWARE工程里去;2,将BEEP文件夹添加到头文件库中去。三,工程代码编写...

2021-04-02 20:09:03 1106

原创 跑马灯实验(正点原子战舰版——stm32F103ZET6)

一,总体过程使能IO口时钟。调用函数RCC_APB2PeriphColckCmd();不同的IO组,调用的时钟使能函数不一样。初始化IO口模式。调用函数GPIO_Init();操作IO口,输出高低电平。GPIO_SetBits();GPIO_ResetBits();二,工程文件创建1,在新建工程模板里新建“HAREWARE”文件夹,在里面创建LED文件夹,在里面新建led.c和led.h文件,添加到HAREWARE工程里去:2,将LED文件夹添加到头文件库中去:三,工程代码编写

2021-04-01 22:47:32 1273

原创 接口电路——SWD和JTAG的比较

传统的芯片调试方式为JTAG, 但随着ARM公司Cortex系列的推出, 采样SWD方式调试成了大家的首选。SWD不仅速度可以与JTAG她美,而且使用的调试线也少,与JTAG调试主要区别在于:(1) SWD模式比JTAG在高速模式下面更加可靠。在大数据量的情况下JTAG下载程序会失败,但是SWD发生的概率会小很多。一般使用JTAG仿真模式的情况下是可以直接使用SWD模式的, 只要你的仿真器支持。所以推荐大家使用这个模式。(2) 在GPIO不足的时候,可以使用SWD仿真,这种模式支持更少的引脚。...

2021-03-24 20:05:02 2283 1

原创 通信接口:RS-232 / RS-422 / RS-485三者概述与区别

1. RS232概述RS-232接口符合美国电子工业联盟(EIA)制定的串行数据通信的接口标准,原始编号全称是EIA-RS-232(简称232,RS232)。它被广泛用于计算机串行接口外设连接。连接电缆和机械、电气特性、信号功能及传送过程。RS232特点:RS-232是现在主流的串行通信接口之一。由于RS232接口标准出现较早,难免有不足之处,主要有以下四点:  (1)接口的信号电平值较高,易损坏接口电路的芯片。RS232接口任何一条信号线的电压均为负逻辑关系。即:逻辑“1”为-3 — -15V;

2021-03-24 19:49:35 6250 1

原创 如何理解AHB和APB,以及一些有关嵌入式的基础名词术语缩写

一,有关嵌入式的部分基础名词缩写:AHB              先进高性能总线AHB - AP      AHB 访问端口AMBA           先进单片机总线架构APB    &

2021-03-24 19:21:30 2784

原创 二进制与十六进制的转换

首先我们来看一个二进制数:1111,它是多少呢?你可能还要这样计算:`然而,由于1111才4位,所以我们必须直接记住它每一位的权值,并且是从高位往低位记,:8、4、2、1。即,最高位的权值为2的3次方=8,然后依次是 2的2次方=4,2的1次方=2,2的0次方=1。记住8421,对于任意一个4位的二进制数,我们都可以很快算出它对应的10进制值。下面列出四位二进制数 xxxx 所有可能的值(中间略过部分)仅4位的2进制数 快速计算方法 十进制值 十六进制1111 = 8 + 4 + 2 + 1

2021-03-10 16:08:20 5441 1

原创 寄存器名称和地址的映射分析

首先要清楚的一点, 所有操作, 最终目的都是操作寄存器一,对比51单片机和STM32对寄存器的操作1) 51单片机:1 sfr P0=0x80; //关键字sfr 声明地址和名称的映射2 P0=0x00; //将0x00赋值给P0口的8位(51单片机一组IO为8位)2) STM32:1 GPIOA->ODR=0x00000000 //为GPIOA的ODR寄存器地址赋值0x00000000二,以GPIOA为例说明STM32寄存器和名称的映

2021-03-06 17:00:05 973

转载 STM32基本GPIO操作:跑马灯实验(库函数+寄存器)⭐

一、库函数版本1.初始化以下是初始化PB5端口的代码:// 定义一个类型为GPIO_InitTypeDef,名字叫做GPIO_InitStructure的结构体GPIO_InitTypeDef GPIO_InitStructure;// PORTB时钟使能RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);// 配置结构体GPIO_InitStructureGPIO_InitStructure.GPIO_Pin = GPIO_Pin_

2021-02-23 11:17:02 2947

原创 2021/1/30学习笔记

C语言复习1,字符串在数组中的表示方法://示例程序段#include <stdio.h>#include <stdlib.h>int main() { int i; char a[]={"Iloveyou!"}; for(i=0; i<=9; i++) { if(i<=0) { printf("%c ",a[i]); } if(i>0) { printf("%c",a[i]); } } retu

2021-01-30 12:18:40 73

原创 STM32的I/O口的8种工作模式

浮空,顾名思义就是浮在空中,上面用绳子一拉就上去了,下面用绳子一拉就沉下去了.开漏,就等于输出口接了个NPN三极管,并且只接了e,b. c极 是开路的,你可以接一个电阻到3.3V,也可以接一个电阻到5V,这样,在输出1的时候,就可以是5V电压,也可以是3.3V电压了.但是不接电阻上拉的时候,这个输出高就不能实现了.推挽,就是有推有拉,任何时候IO口的电平都是确定的,不需要外接上拉或者下拉电阻.(1)GPIO_Mode_AIN 模拟输入(2)GPIO_Mode_IN_FLOATING 浮空输入(3)

2021-01-14 21:14:46 2495

原创 C Primer Plus第六版第十七章编程题目与参考答案⭐

1.修改程序清单17.2,让该程序既能正序也能逆序显示电影列表。一种方法是修改链表的定义,可以双向遍历链表。另一种方法是用递归。#include <stdio.h>#include <stdlib.h>#include <string.h>#define TSIZE 45struct film{ char title[TSIZE]; int rating; struct film *next;};void print_reve

2020-12-23 19:20:31 683

原创 C Primer Plus第六版第十六章编程题目与参考答案⭐

1.开发一个包含你需要的预处理器定义的头文件。参考答案://Func.h#ifndef FUNC_H #define FUNC_H #include <stdio.h> #include <stdlib.h> #include <string.h> #define QUIT 0 #define SPACE ' ' #define END 'q' #define SIZE 20#

2020-12-23 19:02:24 334

原创 C Primer Plus第六版第十五章编程题目与参考答案⭐

1.编写一个函数,把二进制字符串转换为一个数值。例如,有下面的语句:char * pbin = “01001001”;那么把pbin作为参数传递给该函数后,它应该返回一个int类型的值25。# include <stdio.h># include <limits.h># include <string.h># include <stdlib.h># include <ctype.h> # define SIZE 33 int

2020-12-23 17:44:47 629

原创 C Primer Plus第六版第十四章编程题目与参考答案⭐

1.重新编写复习题5,用月份名的拼写代替月份号(别忘了使用strcmp( ))。在一个简单的程序中测试该函数。#include <stdio.h>#include <string.h>#include <ctype.h>#define LEN 12struct month{ char name[10]; char abbrev[4]; int days; int monumb;};const struct month

2020-12-22 21:40:19 1733

原创 C Primer Plus第六版第十三章编程题目与参考答案⭐

1、修改程序清单13.1中的程序,要求提示用户输入文件名,并读取用户输入的信息,不使用命令行参数。# include <stdio.h># include <stdlib.h> int main(void){ int ch ; FILE * fp ; char st[100]; unsigned long count = 0 ; printf("Please enter filename:"); scanf("%s" , st); if ((fp =

2020-12-22 20:43:47 1233

原创 C Primer Plus第六版第十二章编程题目与参考答案⭐

1.不使用全局变量,重写程序清单12.4。(下面是书中12.4的代码。)#include <stdio.h>int units = 0; //外部变量 void critic(void); int main(void) { extern int units; //可选的重复声明 printf("How many pounds to a firkin of butter?\n"); scanf("%d",&units); while (units != 5

2020-12-11 20:13:25 507

原创 CSDN中空格的常用输入方法

第一种:切换输入法到全角符号  一般为shift+空格键,如果不能切换,因为快捷键没有打开,打开方式参考这里链接:  [Win10自带微软拼音输入法全角半角怎么切换](https://zhidao.baidu.com/question/1691662342164738068.html)第二种(最简便):通过HTML中空格来表示HTML提供了多种空格实体,它们拥有不同的宽度。名称 代码 长度 不换行空格 &nbsp; 常规空格的宽度 半角空格 &a

2020-12-11 19:31:20 538 2

原创 C Primer Plus第六版第十一章编程题目与参考答案⭐

1.设计并测试一个函数,从输入中获取下n个字符(包括空白、制表符、换行符),把结果储存在一个数组里,它的地址被传递作为一个参数。#include <stdio.h>#define LEN 10void getnchar(char str[], int n);int main(int argc, char *argv[]){ int i; char input[LEN]; printf("请输入%d个字符(遇EOF停止读取):\n", LEN - 1);

2020-12-11 19:12:54 593

原创 C Primer Plus第六版第十章编程题目与参考答案⭐

1.修改程序清单10.7的rain.c程序,用指针进行计算(仍然要声明并初始化数组)。#include <stdio.h>#define MONTHS 12#define YEARS 5int main(void){ int year, month; float subtot, total; const float rain[YEARS][MONTHS] = { {4.3,4.3,4.3,3.0,2.0,1.2,0.2,0.2,0.4

2020-12-11 19:01:07 479

原创 C Primer Plus第六版第九章编程题目与参考答案⭐

1.设计一个函数 min (x,y),返回两个double类型值的较小值。在一个简单的驱动程序中测试该函数。#include <stdio.h>double min(double x,double y); int main() { double a,b; printf("请您输入2个数,中间用英文逗号隔开(按q退出本程序):"); while (scanf("%lf,%lf", &a, &b) == 2) { printf("最

2020-12-10 19:12:40 490

原创 C Primer Plus第六版第八章编程题目与参考答案⭐

下面的一些程序要求输入以EOF终止。如果你的操作系统很难或根本无法使用重定向,请使用一些其他的测试来终止输入,如读到&字符时停止。1.设计一个程序,统计在读到文件结尾之前读取的字符数。#include <stdio.h>int main(void){ int ch; int ct = 0; printf("请输入一些字符:\n"); while ((ch = getchar()) != EOF) { ct++;

2020-12-07 22:24:23 300

原创 C Primer Plus第六版第七章编程题目与参考答案⭐

1.编写一个程序读取输入,读到#字符停止,然后报告读取的空格数、换行符数和所有其他字符的数量。#include <stdio.h>#define STOP '#'#define SPACE ' ' int main(void){ int ch, space, enter, others; space = enter = others = 0; printf("请输入信息(输入#结束):\n"); while ((ch = getchar()) !=

2020-12-07 21:32:22 579

原创 C Primer Plus第六版第六章编程题目与参考答案⭐

1.编写一个程序,创建一个包含26个元素的数组,并在其中储存26个小写字母。然后打印数组的所有内容。#include <stdio.h>#define LEN 26int main(void) { int i; char letters[LEN]; for(i=0; i<LEN; i++) { letters[i] = 'a' + i; } for (i = 0; i < LEN; i++) { printf("%-3c", lette

2020-12-06 18:02:03 1187

原创 C Primer Plus第六版第五章编程题目与参考答案⭐

1.编写一个程序,把用分钟表示的时间转换成用小时和分钟表示的时间。使用#define 或者const创建一个表示60的符号常量或const变量。通讨while循环让用户重复输入值,直到用户输入小于或等于0的值才停止循环。#include <stdio.h>#define MINTOHOUR 60 int main() { int minutes,mins,hours; printf("请输入分钟数输入0或负数退出):\n"); scanf("%d",&minutes

2020-12-04 22:15:43 472 1

原创 C Primer Plus第六版第四章编程题目与参考答案⭐

1.编写一个程序,提示用户输入名和姓,然后以“名,姓”的格式打印出来。#include <stdio.h>int main() { char firstname[20]; char lastname[20]; printf("请输入您的姓: "); scanf("%s", &firstname); printf("请输入您的名: "); scanf("%s", &lastname); printf("\n您的名字是:%s,%s",lastname,f

2020-12-04 15:26:18 670

原创 C Primer Plus第六版第三章编程题目与参考答案⭐

1.通过试验(即编写带有此类问题的程序观察系统如何处理整数上溢、浮点数上溢和浮点数下溢的情况。#include <stdio.h>int main(){ int a = 2147483647; float b = 3.4E38 * 100.0f; float c = (3.4E-38) / (100.0E100); printf("%d %d %d\n", a, a+1, a+2); //整数上溢 printf("%e\n", b);

2020-12-03 22:15:30 496

原创 C Primer Plus第六版第二章编程题目与参考答案

1.编写一个程序,调用一次printf()函数,把你的名和姓打印在一行。再调用一次printf()函数,把你的名和姓分别打印在两行。然后,再调用两次printf()函数,把你的名和姓打印在一行。输出应如下所示(当然要把示例的内容换成你的名字)Gustav Mahler ——第1次打印的内容Gustav ——第2次打印的内容Mahler ——仍是第2次打印的内容Gustav Mahlc ——第3

2020-12-01 23:53:21 791

原创 如何查看windows电脑中python的pip版本

如何查看windows电脑中python的pip版本新手学习python时往往需要安装外带的模块,这样就需要知道自己电脑中是否已经已经安装pip以及pip的版本。我们只需要打开终端窗口(win+R键,输入cmd,回车),然后输入下面的代码:>>>python -m pip --version如果显示像下面这样pip 20.0.2 from C:\Users\username\AppData\Local\Programs\Python\Python37-32\lib\site-p

2020-11-15 15:03:42 16886

原创 C语言学习小问题:关于scanf函数中“&”的使用

scanf函数中什么时候用“&”在学习C语言时,常常会发现有的scanf()里需要&,而有的不需要。主要有下面两种情况:情形1:当scanf函数后面接收的是一个地址的时候,此时不需要加“&”。如:int main(){ char a[20]; //定义的a数组 scanf("%s",a); //由于a本身就是地址,所以前面不需要加取地址符“&” printf("%s",a);}情形2:当sa

2020-11-08 15:58:18 3487 1

stm32F103相关程序源码.zip

正点原子资料,需要的伙伴自行下载,免费~

2021-03-23

STM32相关参考资料.zip

正点原子资料,需要的伙伴自行下载,免费~

2021-03-23

stm32硬件资料.zip

正点原子资料,需要的伙伴自行下载~

2021-03-23

ALIENTEK战舰STM32F1 V3开发板原理图.zip

正点原子资料,需要的伙伴自行下载,免费~

2021-03-23

ALIENTEK战舰STM32F1 V3开发板入门资料.zip

正点原子资料,需要的伙伴自行下载,免费~

2021-03-23

全国计算机等级考试_三级嵌入式_题库(含答案).pdf

全国计算机等级考试_三级嵌入式_题库(含答案).pdf

2021-03-01

计算机三级嵌入式知识点完全整理.pdf

计算机三级嵌入式知识点完全整理.pdf

2021-03-01

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除