自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 ucos查找最高优先级任务

ucos调度器任务之一:从就绪列表中查找优先级最高的任务。提示几点:1、优先级值越小,优先级越高;2、就绪表(数组)的位置关联优先级,如OSRdyTbl[0] bit0的优先级是最高的;3、OSUnMapTbl[]的原理不再赘述,其作用就是找出一个byte(7 bit)中被置1的最低位。如 6 = 00000110b ,bit 1 和 bit 2 都被置1,bit1低于bit2,因此 1 会被填到OSUnMapTbl对应位置(bit x则填x)。因为bit1的值比bit2小,其任务的优先级一定高于b

2020-09-03 10:47:54 698 1

原创 寄存器reg &= ~1 位与操作的问题

在网上偶尔看到一个关于寄存器某位清零的操作,有人指出如题写法并不健壮,此博客记录。问题的关键在于 ~1 的值,假设 1 占8位(由编译器决定),二进制表示为 0000 0001那么~1的值为 1111 1110此时与一个寄存器 & ,确实可以将第 0 位清零,且确保[7:1]位不变。但是如果该寄存器超过8位,比如16位,``那么在做位与操作时 ~1 会被在前自动补0,此时 ~...

2020-08-28 09:16:01 597

原创 8位单片机做多位乘除操作

8位单片机做多位乘除操作今日在8位单片机中做乘除运算,简化代码如下 unsigned char a = 100; unsigned char b = 120; unsigned char result = 0; result = a*b/120; printf("result = %d", result);以上代码在x86中运行无误,但在8位单片机中:如果操作数高于8位,或者运算过程中产生了高于8位的数,易产生错误。例如 100*200 > 256 已经超过8 bit.所有操作数

2020-08-24 16:52:46 1480

原创 arm-linux-gcc编译关于typedef的error:expected '=', ',', ';', 'asm' or '__attribute__' before 'function'

1、arm-linux-gcc编译报error:error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘fuction’2、先说明工程结构:每一个.c文件都对应一个.h文件,有一个include.h包含所有的其他.h文件:#ifndef __INCLUDE_H#define _INCLUDE_H/* .h头文件包含 ...

2020-04-17 17:25:22 1864

原创 mini2440烧写准备

1、oflah、eop、串口工具https://www.cnblogs.com/panrongfeng/p/9484352.html2、u-boot的usb烧写功能必须要先烧写一个支持usb下载功能的u-boot,Friendly ARM资料中的u-boot不支持,用以下这个:链接:https://pan.baidu.com/s/16LylQAfrAhSV0vIJJ1Q6uw 提取码...

2020-04-16 10:32:07 268

原创 STM32F103ZET6移植STM32F103CBT6

STM32F103ZET6移植CBT6

2020-03-28 11:02:47 915

原创 keil缺少括号:error:#130:expected a “{“

用 keil 写了个STM32的程序,编译时遇到 error:#130:expected a "{“ ,除此之外还给我报了30多个errors,全部指向 stdio.h 。后来在正点原子的论坛上找了许久,终于看到一个靠谱的,链接如下http://www.openedv.com/posts/list/4409.htm问题就在于我一个 xx.h 里声明的一个函数没有加分号!MDK 真的是一个...

2019-11-20 09:02:35 2231

原创 I2C信号采集问题

I2C信号采集问题无意中看到有关I2C信号采集问题,不保证正确,只做记录。先说结论,I2C在SCL保持为高电平时,采集2次数据。先复习两点:1、SCL为高期间:SDA 高—>低 是start信号,SDA 低—>高 是stop信号;2、传输一个bit时,SCL须为高电平,且SCL为高电平期间SDA电平不能发生变化,只能在SCL为低时变化。对于第2点,假如SCL为高期间SDA...

2019-11-15 17:09:57 2044

原创 Windows无法安装驱动原因总结

目前遇到过两种情况:1、启用了数字签名:在系统更新——恢复 中重启,禁用强制数字签名,这是一次性的,网上似乎有永久禁用的方法,没试过管不管用。2、已找到驱动程序,但在安装时遇到错误:Services.msc中打开Device Install Service 和 Device Setup Manager...

2019-09-05 14:40:55 3846

原创 int n 与 static int n 的区别

int n 与 static int n 的区别如下代码:get_n()中定义的 int n 是局部变量,存储在栈中,生命周期为一次函数get_n函数的执行;get_static_n中定义的 static int n 是静态变量,存储在静态数据区,生命周期是整个程序的执行过程。#include <stdio.h>void get_n(void){ int n = 5;...

2019-09-05 13:35:53 7421

空空如也

空空如也

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

TA关注的人

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