编程相关
文章平均质量分 55
nuomigege
这个作者很懒,什么都没留下…
展开
-
指令流水线的理解
因为在同一个机器周期t内,cpu可以在不同的流水线做不同的工作(执行指令的不同段)。2. 为了提高cpu的工作效率,把一条指令分成若干段(平时总看到取指,分析,执行三段的)这里要注意,并不是只能分成3段,比如题中分成了4段。不过在这个图中产生了其他问题,在指令1的第2段(橙色)正在工作时,指令2也需要进行第2段的工作。1. 首先如果没有流水线的工作方式,按题中描述的指令,需要1+2+3+1=7t的时间完成,8条指令就需要7*8=56t的时间完成。指令2的第2段错开了,可是继续执行,指令3又发生了重叠。原创 2024-04-23 14:37:21 · 316 阅读 · 0 评论 -
IAR 使用优化代码后,while定时循环不能退出,不能打断点的问题。
由于STM32使用的Flash吃紧,使用了IAR的优化代码功能。默认时None,优化后选择Medium。优化后,Code显著减小,大约20%。优化完后,起初发现调试程序发现程序里面的while 语句后面不能打断点。搜索后,推断可能和优化代码有关。取消优化后,果然可以打断点了。这倒是问题不大。再后面试验中又发现莫名的卡在while里面不能出来。过了超时时间也不能跳出。又是搜索后,发现依然和优化代码有关 ,在单纯空循环的语句中,如果什么都没有。会被优化掉。可以在空循环的里面增加nop语句原创 2020-08-13 16:47:55 · 928 阅读 · 0 评论 -
USART_FLAG_TC 与 USART_FLAG_TXE之间的 区别
在工作中用到stm32 的串口和上位机通讯,应答完上位机后,马上重启stm32.上位机总是无法接收到串口信息。仿真打断点,发现也执行了串口发送程序。忽然想起可能和这个等待数据是否发送完成的标志有关。于是搜到,https://blog.csdn.net/tanguohua_666/article/details/90770693这篇文章。果然,自己使用的是USART_FLAG_TXE。造成串口数据还没有从TX引脚发出就执行了重启命令。NVIC_GenerateSystemReset();//重启.原创 2020-07-13 13:21:40 · 621 阅读 · 0 评论 -
转载:Python安装PyQt5
是在命令提示符中 CMD输入pip命令[PyQt]在Windows系统中安装PyQt51. 安装PyQt5PyQt5的官方网站是https://www.riverbankcomputing.com。截至目前最新版本是5.11。 安装PyQt5有两种方式:可以下载最新源码进行编译安装,也可以使用pip install进行在线安装。 推荐使用pip install命令进行在线安...转载 2019-03-27 15:06:01 · 1994 阅读 · 0 评论 -
转载:C语言中判断两个字符串是否相同的方法
C语言提供了几个标准库函数,可以比较两个字符串是否相同。以下是用strcmp()函数比较字符串的一个例子: #include <stdio. h>#include <string. h>void main (void);void main(void){ char* str_1 = "abc" ; char * str_2 = "abc" ; char*...转载 2018-11-16 10:34:37 · 3560 阅读 · 0 评论 -
VirtualBox中的Ubuntu访问宿主windows的共享文件夹 没有访问权限的问题
把普通用户名加入到vboxsf之中。因为你的用户名不在vboxsf这个用户组。下面添加boarmy到vboxsf这个用户组。运行: sudo adduser boarmy vboxsf发现运行这个之后,重启 可打开 /media/s_f 文件夹,可是看不到东西,然后又重新删除共享文件夹,再新增加,重启后可,可以看到里面的文件了。原创 2017-04-26 13:42:15 · 852 阅读 · 0 评论 -
使用Keil performance Analyzer 的问题
最近学习调度器的使用,使用keil查看软件仿真时候的cpu占用率,有些问题。比如要添加“”“SCH_Add_Task”这个函数到查看列表,双击后在Define的框内出现,然后点击Define,出现提示错误的窗口 error 31:illegal qualifier 。提示非法字符。没明白什么意思,后来尝试把Definle里面的\\2_01_12g\SCH51\原创 2016-10-14 10:45:50 · 3716 阅读 · 0 评论 -
终于知道了printf()为什么这么写!
从接触编程到现在一直对printf的格式一知半解,知道怎么用,可是有时候又忘记怎么写(做单片机嵌入式开发,不太常用这个printf)。今天看《C程序设计语言》里面写的几句话,终于知道了,原来里面的% d 什么的,到底为什么存在。先写一个例子:printf(“%d\t%d\n”,a,b);这句就是输出a 和b,a后面是一个制表符的空格 输出b然后换行。书中解释printf()原创 2016-09-08 16:54:16 · 1379 阅读 · 0 评论 -
定义和声明
1. 变量的定义、声明变量的声明有两种情况:一种是需要建立存储空间的。例如:int a。在声明的时候就已经建立了存储空间。这种声明是"定义性声明(defining declaration)",即我们平时所说的“定义”。另一种是不需要建立存储空间的,只是告诉编译器某变量已经在别处定义过了。例如:extern int a。其中,变量a是在别处定义的。这种声明是"引用性声明(refernc转载 2016-10-10 14:52:35 · 411 阅读 · 0 评论 -
阅读《鸟哥的Linux私房菜》中 14章中运用ll命令 不识别的问题解决
在自己电脑上执行LL命令提示不支持命令,在网上查询后,发现LL 其实是ls -l的别名,所以ll-d 也就是ls -l-d啦!原创 2016-09-12 16:13:50 · 508 阅读 · 0 评论 -
更新了MDK4.6之后的版本后TKStudio无法编译链接的解决办法
更新了MDK4.6之后的版本后TKStudio无法编译链接的解决办法测试版本MDK4.7,TKStudio 4.6设置方法1、在TKStudio中工具->选项->工具链->编译器路径填入D:\Keil\ARM\ARMCC\BIN原来MDK的编译器是放在KEIL\ARM\BIN40中的注:在此设置头文件路径,库路径都不管用,估计是软件BUG,要按下面的步骤转载 2016-07-05 15:58:05 · 1517 阅读 · 0 评论 -
我是一个线程
2016-03-30 IBM刘欣 程序猿来自:码农翻身(微信号:coderising)作者:IBM刘欣已获转载授权我是一个线程, 我一出生就被编了个号: 0x3704, 然后被领到一个昏暗的屋子里, 这里我发现了很多和我一模一样的同伴。 我身边的同伴0x6900 待的时间比较长, 他带着沧桑的口气对我说:转载 2016-04-14 15:34:04 · 321 阅读 · 0 评论 -
VMware 下面安装ubuntu14.04LTS 后花屏的解决。
VMware 下面安装ubuntu14.04LTS 后花,不能显示任务栏(?)后关闭虚拟机,在设置-->显示器-->关闭3D加速,重启即可显示正常 。原创 2016-02-24 10:39:01 · 902 阅读 · 0 评论 -
ubuntu下 minicom不能打印信息的解决
下端设备在windows环境可正常打印设备,可是再虚拟机下面用minicom不能打印,把硬件的com1,映射到虚拟机里面。不知道应该是ttys0还是s1,输入minicom就会提示 Cannot-open-dev-ttyS0-Device-or-resource-busy 。 无论把虚拟映射关闭还是打开都是报错。所以就开始怀疑是不是minicom默认的串口错误。就开始搜索。后来搜的这个才解决转载 2016-02-23 14:38:56 · 2855 阅读 · 0 评论 -
STM32 16位定时器对正交编码器计数的方法(附检测输入脉冲的方法)
STM32 16位定时器对正交编码器计数的方法(附检测输入脉冲的方法)发布时间:2009-10-04 14:29:11技术类别:医疗电子 今天决定在END开博,之前没有工作记录的习惯,从今天起在这里记录下自己工作时的点滴经验,以供日后参考以及与网络朋友交流。第一篇文章先简要描述下S转载 2015-12-08 16:33:20 · 4348 阅读 · 0 评论 -
MDK中使用printf 直接发送汉字的方法。
网上有好多方法,都差不多现在记录一下。1.只需要把下面的代码复制到程序中。#ifdef __GNUC__/* With GCC/RAISONANCE, small printf (option LD Linker->Libraries->Small printf set to 'Yes') calls __io_putchar() */#define PUTCHAR_P原创 2015-12-25 14:25:50 · 1963 阅读 · 0 评论 -
IAR 提示 Error[Li005]: no definition for ...的错误 的问题的解决方法
最近在从AVR向stm32 移植一个程序,自己愚笨,基本功不够扎实,遇到不少问题。结构体的定义和声明的方法,经过在网上学习,大神说应该在.h中定义结构体类型,然后声明,这样就在外部.c中包含这个.h就可以使用了。可是我如此操作后,还是提示 no definition。搜索资料无效,后来过思考,测试,是由于下面的原因,其实很简单,只是自己没有理清思路。比如,在uart.h中定义了一个结构体类型原创 2015-11-17 10:03:32 · 30683 阅读 · 0 评论