codemap~~~阅读源代码神器推荐

在阅读源代码的过程中,我们常常陷于繁杂的逻辑,庞杂的项目结构,在解析具体功能时,不仅调用层次深,而且不同的功能总是分布在不同的文件目录下。

当我们用ide阅读源代码,每次都可能打开数十个文件,而每次分析完,具体的函数入口,调用链路,各种细节,如果没有合理记录,我们的大脑往往已经不堪重负。codemap 就是瞄准这样的痛点,为用户提供可视化的分析手段,降低用户的心智负担,让分析源代码从此 so easy

由于codemap兼容vscode的语言服务器协议(language server protocol),因此具有了语言解析的能力,不仅能够根据不同的语言独立渲染、折叠、提供上下文信息等,更因为此,codemap在用户自动跳转到定义时,会自动产生一条从跳转起点指向终点的连线,这样就能解放用户的大脑,当用户分析过程中进行了多次跳转,则多个编辑器都平铺展示,且各个相关联的代码部分都通过连线展示,直观而便捷。同时,这些连线还能随着编辑器移动而自动更新,编辑器在画布上也能执行自由滑动、拖拽等操作,使用户能自由掌控画布,方便阅读。

总之,codemap 提供了多种方便、实用的方法,辅助阅读源代码,相信一定能提高您阅读源代码的效率,欢迎尝试使用:https://codemap.info

以下是基于51单片机的数码管显示0~9和9999~0代码示例: ```c #include <reg51.h> // 定义数码管段引脚连接的端口 sbit DIG1 = P2^0; s DIG2 = P2^1; sbit DIG3 = P2^2; sbit DIG4 = P2^3; // 定义数码管位选引脚连接的端口 sbit SEG_A = P1^0; sbit SEG_B = P1^1; sbit SEG_C = P1^2; sbit SEG_D = P1^3; sbit SEG_E = P1^4; sbit SEG_F = P1^5; sbit SEG_G = P1^6; sbit SEG_DP = P1^7; // 数码管显示0~9的编码 unsigned char code segNum[10] = { 0xC0, // 显示0 0xF9, // 显示1 0xA4, // 显示2 0xB0, // 显示3 0x99, // 显示4 0x92, // 显示5 0x82, // 显示6 0xF8, // 显示7 0x80, // 显示8 0x90 // 显示9 }; void delay(unsigned int t) { unsigned int i, j; for (i = t; i > 0; i--) for (j = 110; j > 0; j--); } void display(unsigned int num) { unsigned int i, j; unsigned char digit[4]; digit[0] = num / 1000; // 千位 digit[1] = (num / 100) % 10; // 百位 digit[2] = (num / 10) % 10; // 十位 digit[3] = num % 10; // 个位 for (i = 0; i < 4; i++) { switch (i) { case 0: DIG1 = 1; break; case 1: DIG2 = 1; break; case 2: DIG3 = 1; break; case 3: DIG4 = 1; break; } P1 = segNum[digit[i]]; delay(1); // 延时一段时间保证数码管刷新 // 关闭所有位选,准备切换到下一位数码管 DIG1 = 0; DIG2 = 0; DIG3 = 0; DIG4 = 0; delay(1); // 延时一段时间保证数码管刷新 } } void main() { unsigned int i; while (1) { // 数码管显示0~9999 for (i = 0; i < 10000; i++) { display(i); } // 数码管显示9999~0 for (i = 9999; i >= 0; i--) { display(i); } } } ``` 这段代码在`main()`函数中的循环中,先将0~9999逐个显示在数码管上,然后逆序显示9999~0。你可以根据自己的硬件连接情况进行相应的修改。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值