单片机
文章平均质量分 64
彩云的笔记
一起编程去!!
展开
-
PX4固件编译问题region `flash‘ overflowed by 4253 bytes
Memory region Used Size Region Size %age Used flash: 1036445 B 1008 KB 100.41% sram: 25428 B 192 KB 12.93% ccsram: 0 GB 64 KB 0.00%/usr/bin/../lib/gcc/arm-none-eab...原创 2021-11-23 15:43:42 · 1346 阅读 · 0 评论 -
MAV_CMD_DO_MOTOR_TEST
case MAV_CMD_DO_MOTOR_TEST: // param1 : motor sequence number (a number from 1 to max number of motors on the vehicle) // param2 : throttle type (0=throttle percentage...原创 2020-04-27 09:54:45 · 1108 阅读 · 0 评论 -
EM78P468 义隆单片机 单键触控
<br /><br />地pin就是GND pin<br /> <br />VDD pin <br /> <br />I/O口,我接的是P6.0 pin<br /> <br /> <br />开关闭合时,i/o口低电平,打开时I/O口高电平<br /> <br />原创 2011-05-03 15:18:00 · 2296 阅读 · 0 评论 -
汇编求两个数的和---注释
DATAS SEGMENT FIVE DB 5DATAS ENDS STACKS SEGMENT DB 128 DUP (?)STACKS ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKSSTART: MOV AX,DATAS;把数据存原创 2011-06-21 10:31:00 · 5260 阅读 · 0 评论 -
汇编命令的英文缩写
LEA :Load effective addressDUP :duplicate,重复,多重的。原创 2011-06-21 10:25:00 · 1142 阅读 · 0 评论 -
第一个汇编HELLO WORLD ,注释
DATAS SEGMENT STRING DB 13,10,Hello World!,13,10,11,$DATAS ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATASSTART: MOV AX,DATAS;将数据放入ds MOV DS,AX原创 2011-06-21 10:09:00 · 3910 阅读 · 0 评论 -
新型的按键扫描程序(转)长按 短按 写的很棒
原文:http://blog.ednchina.com/zp2009/983530/message.aspx不过我在网上游逛了很久,也看过不少源程序了,没有发现这种按键处理办法的踪迹,所以,我将他共享出来,和广大同僚们共勉。我非常坚信这种按键处理办法的便捷和高效,你可以移植到任何一种嵌入式处理器上面,因为C语言强大的可移植性。 同时,这里面用到了一些分层的思想,在单片机当中转载 2011-06-14 11:16:00 · 16567 阅读 · 4 评论 -
有关于宏定义的注意事项
#define mslaveaddr 0x1e;为什么编译器不告诉我这个宏定义有错。原创 2011-06-10 11:41:00 · 1002 阅读 · 0 评论 -
syntax error; found ` ; ' expecting ` )' 和Error TCC: insufficient number of arguments to `IIC_RegRead'
做单片机开发时,出现标题所示很令我头疼的错误信息。 仔细检查,在分号前的括号是匹配的,函数IIC_RegRead的参数个数,怎么数都是正确的。 仔细分析调用了IIC_RegRead的几个语句,有的报错,有的不报错。 IIC_RegRead的函数原型如下 int IIC_RegRead(uchar slaveaddr,uchar regaddr) 正确的原创 2011-06-10 11:20:00 · 14080 阅读 · 0 评论 -
关于数的二进制的深入理解
做8big单片机开发,不支持浮点数运算。故需要对二进制有深入的理解,才可以避免溢出。 在MCU中,有符号数均采用补码表示,浮点数一般用定点表示法,小数点的位置我们可以自己视情况而定。 对于单字节的有符号的浮点数运算。 比如计算(-0.75)+2 在MCU中是这样计算的 0.75原码:0000.1100-0.75补码:0.75原码取反+1(再加上符号位)原创 2011-06-10 17:14:00 · 1341 阅读 · 0 评论 -
立体几何复习——加速度传感器的roll pitch raw
关于roll pitch raw可参考http://blog.sina.com.cn/s/blog_602c72c50100p7fn.html 以MMA8452Q为例X,Y,Z轴的定义如下Y,X,Z轴均是相对机身位置的。Y指向机身向前,X向机身向右,Z垂直机身正面。对下图而言,Z轴与地心引力同向。X,Y,Z轴的数据一般是一个单位的地心引力(大小1g(m*m/s),方向垂直地面向原创 2011-06-09 17:27:00 · 3720 阅读 · 0 评论 -
使用中断方式还查询方式?
本文翻译自MMA8452Q(一个加速度传感器)的application note AN4067 -----Data Manipulation and Basic Settings of the MMA8451, 2, 3Q section 9.0 9.0 Polling Data vs. Interrupts每当有新数据时,可以通过轮询方式,对MCU设置硬件中断方式,及异常等方翻译 2011-06-07 19:13:00 · 5105 阅读 · 0 评论 -
在8位单片机中的浮点数运算---开方,乘法,除法,反正切
所用单片机:EM78系列,所用仿真器ICE468。int 1byte , long 4byteBit data type cannot be used as a return value. Double and float are NOT supported by the EM78 Series C Compiler. 开平方根unsigned long sqrt_16(原创 2011-06-03 15:06:00 · 9048 阅读 · 0 评论 -
在单片机中的浮点数编程
<br />问题背景:<br /> 在使用8BIT单片机进行开发,不支持浮点数运算。但是开发必须用到sin,cos,arctan等浮点数函数。<br /> <br />苦想了两天,才发现,自己要当一回“计算机”。<br /> <br />单片机不支持浮点数,可是编程却一定要用到小数。这时,只好自定义“定点小数”了。<br />所需的浮点数范围有两个区域-1~1,-60~60。精度就按小数点后2、3位了。<br /> <br />如果在高级语言中,我想定义的数组是<br /> <br /> <br />d原创 2011-06-02 16:34:00 · 7369 阅读 · 0 评论 -
Error LNK:(1105) Can't allocate RAM space for stack label main_bp, which need 12 byte(s).
写单片机程序,得小气点儿,吝啬每一个字节,吝啬每一个bit。否则,就会报如下类似错误:Error LNK:(1105) Cant allocate RAM space for stack label main_bp, which need 12 byte(s). 如下代码定义了三个long(3*4byte=12byte),RAM内存紧张,于是报错。 void main()原创 2011-06-03 15:12:00 · 2936 阅读 · 0 评论 -
extern 用法简单示例
<br />test.c文件<br />#include <stdio.h>int add(int a,int b){return a+b;}int extern_data=100;<br /> <br /> <br />main.c文件<br />#include <stdio.h>extern int extern_data;extern int add(int a,int b);int main(int argc, char *argv[]){ print原创 2011-05-11 18:12:00 · 1319 阅读 · 1 评论 -
指针---输入字符串---输出一个结构体
<br />#include <stdio.h>struct data{char name[5];int bright_r;int bright_g;int bright_b;int rate_r;int rate_g;int rate_b;int time_r;int time_g;int time_b;};int getbright(char str[]){ int b=0; int i=0; for( i=0;str[i]!原创 2011-05-11 18:04:00 · 1891 阅读 · 0 评论