- 博客(26)
- 资源 (3)
- 收藏
- 关注
转载 KEIL 调试的 ini 文件有什么用
https://blog.youkuaiyun.com/u014783785/article/details/92581102
2020-01-03 11:21:06
1520
原创 倍压电路
注释:红色线为第一个正半周期,蓝色线为第二个下半周期,紫色线为第三个上半周期,绿色线为第四个下半周期对于图a:第一个正半周期时,电容C1开始充电,充满时为1.4*Vin。在第二个下半周期时,电容C1开始充电,充满时为1.4*Vin。所以输出为2*1.4*Vin。在电容C1充满时的某一时刻当输入电压为0v,二级管受到的最大反向电压为1.4*Vin,选取原件时需要注意。对于图b:一...
2019-12-17 14:50:27
3676
原创 正向钳位电路分析
知识补充:1.电容两端的电压差不能突变。比如刚开始时电容两极板的压差为5v,过一段时间后,左极板的电压突变为10v,那么右极板的电压为15v。在过一段时间,左极板的电压突变为5v,那么右极板的电压为0v。2.二级管的导通电压为0.7v。分析:在一上电瞬间,电容两极板的电压差为0v。在XFG1信号发生器的第一个周期中的上半轴。电容左端的电压等于电容的右端电压,压差维持在0v。有意...
2019-12-13 18:05:15
1731
原创 二级管上升沿检测电路
该二级管的导通电压大约为300mv左右,信号发生器为200mv的方波。如果直接接到RC电路中,二级管D2不能直接导通,此时,VCC与R1与D1组合成抬升电路把探针1处的电压抬升300mv。这样正电平就可以顺利通过而负电平就被截止...
2019-12-13 11:47:54
1210
原创 如何在keil中联合编译C与汇编
;防止重复包含头文件$NOMOD51;定义该文件的名称NAME MAIN;定义端口地址名称P0 DATA 080HP1 DATA 090HP2 DATA 0A0HP3 DATA 0B0HT0 BIT 0B0H.4AC BIT 0D0H.6T1 BIT 0B0H.5T2 BIT...
2019-11-01 17:22:17
1194
原创 在keil中嵌入汇编程序方法步骤
右键main程序,打开第一个选项,如上图所示,先勾选Generate Assembler SRC File后再勾选一次。同样,先勾选Assemble SRC File后再勾选一次。如下图所示第二步,在keil的安装目录下找到lib文件夹里面的C51S.LIB,把它放在与主程序相同的目录下。如图所示在主函数中编写自己的程序...
2019-10-27 11:52:33
5741
原创 指针类型的强制转换理解(二)
链接地址:https://blog.youkuaiyun.com/tustyao/article/details/47061959代码一:#include <stdio.h>int main{ int b = 12; int *p = &b; //指针变量p指向变量b printf("%p\n",p);//指针p保存的b的地址 pri...
2019-09-27 15:47:18
444
原创 setbuf使用细节
#include <stdio.h>int main(){ int c; char buf[BUFSIZ]; setbuf(stdout, buf); while((c=getchar())!='b') { putchar(c); fflush( stdout ); } return 0;}setbuf...
2018-11-02 21:50:57
1872
1
原创 高级指针话题习题精讲
要求:5.编写代码处理命令行参数是十分乏味的,所以最好有一个标准函数来完成这项工作。但是不同的程序以不同的方式处理它们的参数,所以,这个函数必须非常灵活,以便使它能用于更多的程序。在本题中,你将编写这样一个函数。你的函数通过寻找和提取参数来提供灵活性。用户所提供的回调函数将执行实际的处理工作。下面是函数的原型。注意它的第四个参数和第五个参数是回调函数的原型。char ** do_args...
2018-11-01 12:27:04
206
原创 《c与指针》第13章课后习题4
#include <stdio.h>#include <stdlib.h>#include <string.h>int arry[4] = { 6, 2, 3, 1 };int cmp ( void * a, void * b){ return ( *(int*)a - *(int*)b );}/* 比如6,2,3,1 开始先以6为...
2018-10-31 10:58:45
255
原创 使用typedef分解复杂指针声明技巧与具体实例
int * ( * ( * (*abc)() ) [6] ) ( )解读:解读顺序,红->橙->绿->黑1.红色部分为 函数指针2.橙色部分为 数组指针3.绿色部分为 函数指针4.黑色部分为 返回类型为int*型综合:指向《返回值为“ 指向 ‘返回值为int型指针的函数指针’ 的数组指针 ”》类型 的函数指针#include <...
2018-10-29 12:48:38
305
原创 复杂指针声明具体实例
左右声明法则:首先从最里面的圆括号(未定义的标识符)看起,然后往右看,再往左看。每当遇到圆括号时,就应该掉转阅读方向。一旦解析完圆括号里面所有的东西,就跳出圆括号。重复这个过程直到整个声明修正:笔者要对这个法则进行一个小小的修正,应该是从未定义的标识符开始阅读,而不是从括号读起,之所以是未定义的标识符,是因为一个声明里面可能有多个标识符,但未定义的标识符只会有一个。链接:https:...
2018-10-28 12:41:57
517
原创 索引表
#include <stdlib.h>#include <assert.h>#include <stdio.h>#include <string.h>#define TRUE 1#define FALSE 0/* 定义了一个单词链表,存放以该字母开头的单词链表 */typedef struct WORD{ char *word...
2018-10-22 09:57:54
1713
2
原创 反序排列单链表
#include <stdlib.h>#include <assert.h>#include <stdio.h>typedef struct NODE{ int value; struct NODE *link;} Node;/* 创建一个链表 */Node* newnode( int value ){ Node *ne...
2018-10-21 11:51:46
336
原创 插入双链表的详细解析
#include <stdlib.h>#include <assert.h>#include <stdio.h>typedef struct NODE{ struct NODE *f; struct NODE *b; int value;}Node;int dl...
2018-10-20 12:20:43
901
原创 单链表详细解析
#include <stdlib.h>#include <assert.h>#include <stdio.h>typedef struct NODE{ int value; struct NODE *link;} Node;/* 创建一个链表 */Node* newnode( int value ){ Node *new...
2018-10-19 10:06:42
353
转载 c语言关于结构体字节对齐
https://blog.youkuaiyun.com/qq_28238141/article/details/79976062
2018-10-02 15:23:12
153
转载 typedef 与 define的作用域
#include <stdio.h>void kk(){ typedef char CHAR; #define INT int}int main(){ CHAR a = 3;// printf( "%d\n", a); return 0;}报错:1212121212.c:13:4: error: unknown type name 'C...
2018-09-28 19:07:36
373
原创 Typedef中一个“PF Register( PF test )”使用实例
#include <stdio.h>//typedef定义一种类型,带有两个int型参数并返回int型数据typedef int (*PF) ( const int * ,const int *);//选出最大的数int max( const int *x, const int *y ){ if( *x > *y ) return *x; else...
2018-09-28 18:09:41
290
翻译 如何巧妙的在字符串末尾添加'\0'
#include <stdio.h>#include <ctype.h>#include <string.h>#define TRUE 1#define FALSE 0intprepare_key( char *key ){ register char *keyp; register char *dup; register in...
2018-09-19 22:27:02
9762
原创 const变量是否真的不能修改吗?
代码一:#include <stdio.h>#include <string.h>char *my_strnchr( const char *str, int ch, int which ){ int n = 0; do { if( *str == '\0') { return 0; } if( *str++ == ch ) ...
2018-09-18 22:47:32
461
翻译 八皇后问题
#include <stdio.h>#define TRUE 1#define FALSE 0int board[8][8];void print_board(){ int row; int column; static int n_solutions; n_solutions += 1; printf( "solution %d\n", n_s...
2018-09-16 23:31:52
142
原创 用c语言自己写一个简单的print函数
#include <stdio.h>#define va_list void*#define va_arg(arg, type) *(type*)arg; arg = (char*)arg + sizeof(type);#define va_start(arg, start) arg = (va_list)(((char*)&(start)) + sizeof(...
2018-09-09 21:26:36
8331
原创 是否了解printf("%s",....)与printf("%c",...)的区别,指针的强制转换成一维指针和二维指针甚至多维指针时如何正确使用
代码1: #include <stdio.h>#define va_list void*#define va_start(arg, start) arg = (va_list)( ((char*)&start) + sizeof(start) )void print( char* format, ...){ va_list arg; printf(...
2018-09-09 12:03:29
2109
原创 对于lua 魔法字符以及string,gsub和(+-*)问题的理解
--*********当取(.-)时,一开始先匹配一个[,0个或多个=号,一个[,尽可能少的内容直到遇到'第'一个]--*********0个或多个=号,一个],停止匹配*************--p = "%[(=*)%[(.-)%]%1%]"s = "a = [=[[[ something ]] ]=] ]=];print(a)"print(string.match(s,p))...
2018-08-04 10:54:03
2489
原创 对lua __index的理解
text = { }text.defaultValue = { size = "h", content = "hello" }text.mt = { } -- 创建元表function text.new( a ) setmetatable( a, text.mt ) return aendtext.mt.__index = function( tq, key )--tq中的...
2018-06-27 13:09:06
191
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人