通俗话讲原理(七):集成电路主控——mpn的大脑 mpn维修中,大家一定对“主控”这个东西不陌生,目前比较常见的mpn大规模集成电路有炬力公司的ATJ2051、2085、2091、2097、ACU75xx系列等等,瑞芯微RK2606、2602、2608、2706、2708等,凌阳SPCA7530、7550、536、3050等,西格玛特STMP3410、35xx系列等,另外还有飞利浦、... 2023-06-13 电压电路数据程序设计模电文章基础课电子技术基础
MSP430在ADC操作上遇到了些问题,现将过程分享出来 1. 使用ADC10模块测量电源电压,参考电压使用内部的2.5V,时钟源ADC10OSC,不分频,通道选择11,即(VCC – VSS) / 2,参考TI的示例程序,编写并调试出相关功能代码如下:void vcccheck(void){ADC10CTL0 = SREF_1 + ADC10SHT_2 + REFON + ADC10ON + REF2_5V;ADC10CTL1 = INC... 2023-06-13 MSP430ADC单片机程序设计文章MSP430单片机
【C语言】两个指针的坑 1 这个坑是半年前遇到的,当时也是定位了半天。 代码如下:typedef struct A{int a;int b;virtual void test() {}A() { memset(this, '\0', sizeof(*this));} } A; int main(){A a;A* t = &a; a.test();t->test();}2 这个坑是昨天封装epoll... 2023-06-13 C语言指针程序设计变量文章基础课C语言基础
在嵌套循环中的死循环问题 #includeint main(){int j=10;int k=10;while(j--){while(k--){printf("%d",k);}}//这样会 输出一堆负数是为什么?// 如果把k--挪到循环体内,把条件改为k>0 就恢复正常了printf("over");return 0;}回复讨论(解决方案)while(k--) { printf("%d",k... 2023-06-13 C语言嵌套循环死循环程序设计文章基础课C语言基础
ARM下高效C编程 1、对局部变量、函数参数和返回值要使用signed和unsigned int类型。这样可以避免类型转换,而且可高效地使用ARM的32位数据操作指令。2、最高效的循环体形式是减计数到零(counts down to zero)的do-while循环。3、展开重要的循环来减少循环的开销。4、不要依赖编译器来优化掉... 2023-06-13 ARM高效C编程程序设计文章单片机
12个有趣的C语言面试题 1.gets()函数问:请找出下面代码里的问题:#include int main(void) { char buff[10]; memset(buff,0,sizeof(buff)); gets(buff); printf("\n The buffer entered is [%s]\n",buff); return 0; } 答:上面代码里的问题在于函数gets()... 2023-06-13 C语言面试题程序设计笔试题文章基础课C语言基础
C语言程序设计技巧之命令行参数 在许多应用软件运行时都带有命令行参数,其实这些命令行参数在C语言编写的程序中也可以实现,灵活地运用命令行参数进行处理可以有效地提高程序的运行效率,收到事半功倍的效果。 C语言中有关命令行参数涉及到程序的主函数main(int argc,char *argv[]这样两个参数,其中,int argc... 2023-06-13 C语言程序设计命令行参数文章基础课C语言基础
真正的“匈牙利命名法” 从刚进大学开始学习 C 语言,就听说了实际开发中会用到的各种变量命名方法,例如常见的匈牙利命名法、骆驼命名法、Pascal 命名法等。后来自己真正开始用 C/C++ 写程序,开始使用匈牙利命名法,总觉得十分别扭。好好的变量名 name,严格按照命名规则,非得在前面加类型前缀,改写成 lps... 2023-06-13 匈牙利命名法C语言程序设计C++IDE文章基础课C语言基础
匈牙利命名法的辩思 由于这种命名法的深厚群众基础,我先套用一句小龙的说法,我说的都是错的。请大家抱着兼听则明的态度看这篇文章,大部分资料来自网上,我不是原创只是整理者,请参见附录:BTW:2006年前我自己也是一个匈牙利命名发的坚定拥护者,直到sonicmao给我打开另外一扇门。1匈牙利命名法的前世今... 2023-06-13 匈牙利命名法程序设计C++C语言文章基础课C语言基础
assert在C语言中的使用 在进行STM8S相关项目开发的过程中 看到assert_param(--)的使用,通常是判断函数的输入参数是否合格。找了一下的答案,关于assert的说明第一个参考:http://www.eeskill.com/article/id/43322用于开发调试时使用,生产时务必不要使用。在debug时有效,release模式失效。通常用于两... 2023-06-13 assertC语言程序设计debug文章基础课C语言基础
读取中英文混搭的文件 中英文编码方式不一样,中文是由两个字节组成的字符,而英文是由一个字节组成,而且该字节的首位为0,而如果是中文,中文编码的第一个字节首位是1.这就是最主要的区别。根据这个就可以对中英文混搭的文件进行读取。就是根据你读到的第一个字节是否小于0.下边是一段自己编写的一小... 2023-06-13 读取中英文混搭文件C语言程序设计文章基础课C语言基础
sscanf函数的高级用法 函数原型:intsscanf(constchar*format[,argument]...);其中的format可以是一个或多个:{%[*][width][{h|l|I64|L}]type|''|'\t'|'\n'|非%符号},注:1)、*亦可用于格式中,(即%*d和%*s)加了星号(*)表示跳过此数据不读入。(也就是不把此数据读入参数中)2)、{a|b|c}表示a,b... 2023-06-13 sscanf函数 高级用法 C语言程序设计正则表达式文章基础课C语言基础
关于“世上只有妈妈好”的单片机音乐演奏程序 单片机演奏一个音符,是通过引脚,周期性的输出一个特定频率的方波。这就需要单片机,在半个周期内输出低电平、另外半个周期输出高电平,周而复始。半个周期的时间是多长呢?众所周知,周期为频率的倒数,可以通过音符的频率计算出半周期。演奏时,要根据音符频率的不同,把对应的、半个周... 2023-06-13 世上只有妈妈好单片机音乐演奏程序程序设计文章基础课C语言基础
编写汇编语言常见错误分析 一、汇编软件汇编失败原因分析:这里采用Keil C51软件包中的宏汇编器A51作为编绎器,单片机的汇编语言编写时要注意一定的语法,详细介绍可以参考相关参考书,语法错误会造成汇编失败,常见的汇编错误如下:1. 标号重复: 常见于复制、粘贴程序时忘记修改标号,造成出现多个相同的标号,标... 2023-06-13 汇编语言常见错误程序设计keilC51宏汇编器A51文章基础课
C语言Printf格式,调试最好的助手! 1.类型类型字符用以表示输出数据的类型,其格式符和意义下表所示:表示输出类型的格式字符格式字符意义a 浮点数、十六进制数字和p-计数法(C99)A 浮点数、十六进制数字和p-计数法(C99)c 输出单个字符d 以十进制形式输出带符号整数(正数不输出符号)e 以指数形式输出单、双精度... 2023-06-13 C语言Printf格式调试助手程序设计文章基础课C语言基础
新型的按键扫描程序,仅三行程序 不过我在网上游逛了很久,也看过不少源程序了,没有发现这种按键处理办法的踪迹,所以,我将他共享出来,和广大同僚们共勉。我非常坚信这种按键处理办法的便捷和高效,你可以移植到任何一种嵌入式处理器上面,因为C语言强大的可移植性。同时,这里面用到了一些分层的思想,在单片机当中也... 2023-06-13 按键扫描程序C语言程序设计单片机文章基础课C语言基础
C中Union的巧妙用法 1 union巧妙地实现多字节数据类型之间的转化在涉及音视频编解码算法中,经常会涉及一些数据压缩、声音解码、图象的缩放等问题。这里通过一个例子来推荐一种union绝妙用法(这种方法由Equator公司提供,在我们公司的图象处理算法中用得很多)。在该例子中,利用union结构n64u实现... 2023-06-13 CUnion巧妙用法程序设计C语言文章基础课C语言基础
PWM——呼吸灯 呼吸灯是很简单的东西,用一片555,搭成一个多谐振荡器,再用RC电路滤成锯齿波,再驱动LED就可以了。LED在锯齿波的控制下,逐渐的由亮到暗、再由暗到明的周期性变化,看起来就好像是在呼吸。555电路,调整起来比较困难,不如使用单片机来制成呼吸灯,可控性较强。用单片机来制作呼吸灯,电路... 2023-06-13 PWM呼吸灯单片机程序设计文章基础知识
PWM——用按键控制LED的亮度 以前写过一篇关于PWM的博文,已经有一年了,链接如下:http://www.eeskill.com/article/id/50651。文中使用了示波器来显示不同占空比的波形。其实,利用LED也能通过亮度来表现出PWM参数的变化,用实物进行测试,效果很好,但是用PROTEUS进行仿真试验,却只是看到闪烁的厉害,基本上看不出... 2023-06-13 PWM按键LED单片机程序设计文章基础知识
按键消抖的软硬件方法 我们所用的按键一般都是机械式的按键,因此在按下的时候并不立即导通,都有一定的抖动过程。在单片机的学习过程中,大家都有了这样一个按键消抖的概念。记得博主的单片机老师在上课的时候苦口婆心地反复提这。一、软件消抖:其实包括课本,很多课外的资料都有些偷工减料的意思,按键... 2023-06-13 按键消抖程序设计电路图单片机电容文章基础知识
k60之内部AD模块转换 可能第一眼我们的感觉都是。。。有点复杂哈,咳咳,所以我在图中对重要的部分用红线圈出来逐个分析了下,怎样,应该初步了然了吧,图中我圈出来的是重点抓住的,下面软件编程的时候需要用到,其他的可以随便看看,前提是你有足够的耐心去看一堆英文说明了,哈哈。3.软件编程部分,其实无非就... 2023-06-13 k60内部AD模块转换程序设计datasheet文章单片机基础知识
学习51单片机有感,学习用书推荐 51单片机 我完全自学的,因为想学的时候离学校开课还早得很。 学完了单片机,现在学校课也开完了,收获很大。现将偶学习经验写出来,供大家交流。1、因为有了C语言和汇编语言的基础,加上模电学得不错。微机原理也上了。所以我只花了半天的时间把51的引脚功能和内部结构搞清楚了。... 2023-06-13 51单片机学习用书程序设计文章单片机
单片机报警系统中的六大常见问题 利用单片机应用系统进行报警的常用方法是什么?常用的方法就是把采集到的数据送到单片机应用系统进行处理,与该参数的上、下限给定值进行比较,若超过给定值时则进行报警,否则,就作为正常值进行显示或控制。在单片机报警系统中,发光二极管常用何种型号的集成电路驱动?由于发光二... 2023-06-13 单片机报警系统程序设计文章其他
精妙的单片机非阻塞延时程序设计 对于每个单片机爱好者及工程开发设计人员,在刚接触单片机的那最初的青葱岁月里,都有过点亮跑马灯的经历。从看到那一排排小灯按着我们的想法在跳动时激动心情。到随着经验越多,越来又会感觉到这个小灯是个好东西,尤其是在调试资源有限的环境中,有时会帮上大忙。但对于绝大多数... 2023-06-13 单片机非阻塞延时程序设计文章基础知识
Hanoi Tower 汉诺塔问题/c 问题描述:有一个梵塔,塔内有三个座A、B、C,A座上有诺干个盘子,盘子大小不等,大的在下,小的在上(如图)。把这些个盘子从A座移到C座,中间可以借用B座但每次只能允许移动一个盘子,并且在移动过程中,3个座上的盘子始终保持大盘在下,小盘在上。描述简化:把A柱上的n个盘子移动到C柱,其中可以... 2023-06-13 Hanoitower汉诺塔问题C语言程序设计文章基础课C语言基础