硬汉嵌入式论坛

 找回密码
 立即注册
查看: 7543|回复: 18
收起左侧

[STM32H7] 各路人才展示精彩绝伦的代码注释,并推荐几款非常棒的注释工具

  [复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106721
QQ
发表于 2020-4-2 02:48:05 | 显示全部楼层 |阅读模式
说明:
1、程序代码里面非常好的注释方式。
2、相关网站:
(1)https://metacpan.org/pod/distrib ... o/lib/App/Asciio.pm
(2)http://ditaa.sourceforge.net/
(3)http://www.ascii-art.de/
(4)https://asciiflow.com/
(5)http://asciiflow.cn/


示意图:
  1. vncviewer         .-,(  ),-.   
  2.    __  _         .-(          )-.           gateway           vncserver
  3.   [__]|=|  ---->(    internet    )-------> __________ ------> ____   __
  4.   /::/|_|        '-(          ).-'        [_...__...°]       |    | |==|
  5.                      '-.( ).-'                               |____| |  |
  6.                                                              /::::/ |__|


  7.          User code ^            ^ OS code
  8.                      \          /
  9.                       \        /
  10.                        \      /
  11.           User code <----Mode----->OS code
  12.                        /      \
  13.                       /        \
  14.                      /          \
  15.          User code  v            v OS code
  16.          
  17.         
  18.             .---.  .---. .---.  .---.    .---.  .---.
  19.    OS API   '---'  '---' '---'  '---'    '---'  '---'
  20.               |      |     |      |        |      |
  21.               v      v     |      v        |      v
  22.             .------------. | .-----------. |  .-----.
  23.             | Filesystem | | | Scheduler | |  | MMU |
  24.             '------------' | '-----------' |  '-----'
  25.                    |       |      |        |
  26.                    v       |      |        v
  27.                 .----.     |      |    .---------.
  28.                 | IO |<----'      |    | Network |
  29.                 '----'            |    '---------'
  30.                    |              |         |
  31.                    v              v         v
  32.             .---------------------------------------.
  33.             |                  HAL                  |
  34.             '---------------------------------------'
  35.             


  36.                  
  37.                 .---------.  .---------.
  38.                 | State 1 |  | State 2 |
  39.                 '---------'  '---------'
  40.                    ^   \         ^  \
  41.                   /     \       /    \
  42.                  /       \     /      \
  43.                 /         \   /        \
  44.                /           \ /          \
  45.               /             v            v
  46.            ******        ******        ******
  47.            * T1 *        * T2 *        * T3 *
  48.            ******        ******        ******
  49.               ^             ^             /
  50.                \             \           /
  51.                 \             \         /
  52.                  \             \       / stimuli
  53.                   \             \     /
  54.                    \             \   v
  55.                     \         .---------.
  56.                      '--------| State 3 |
  57.                               '---------'
  58.                               

  59.                                        .--Base::Class::Derived_A
  60.                                       /
  61.                                      .----Base::Class::Derived_B   
  62.      Something--------.             /         \
  63.                        \           /           '---Base::Class::Derived::More
  64.      Something::else    \         /             \
  65.            \             \       /               '-Base::Class::Derived::Deeper
  66.             \             \     /
  67.              \             \   .-----------Base::Class::Derived_C
  68.               \             \ /
  69.                '-------Base::Class
  70.                       /   \ \ \
  71.                      '     \ \ \
  72.                      |      \ \ '---The::Latest
  73.                     /|       \ \      \
  74. With::Some::fantasy' '        \ \      '----The::Latest::Greatest
  75.                     /|         \ \
  76.         More::Stuff' '          \ '-I::Am::Running::Out::Of::Ideas
  77.                     /|           \
  78.         More::Stuff' '            \
  79.                     /              '---Last::One
  80.         More::Stuff'


  81.   ____[]
  82. | ___ |
  83. ||   ||  device
  84. ||___||  loads
  85. | ooo |------------------------------------------------------------.
  86. | ooo |    |                          |                            |
  87. | ooo |    |                          |                            |
  88. '_____'    |                          |                            |
  89.             |                          |                            |
  90.             v                          v                            v
  91.   .-------------------.  .---------------------------.    .-------------------.
  92.   | Loadable module C |  |     Loadable module A     |    | Loadable module B |
  93.   '-------------------'  |---------------------------|    |   (instrumented)  |
  94.             |            |         .-----.           |    '-------------------'
  95.             '--------------------->| A.o |           |              |
  96.                 calls    |         '-----'           |              |
  97.                          |    .------------------.   |              |
  98.                          |    | A.instrumented.o |<-----------------'
  99.                          |    '------------------'   |    calls
  100.                          '---------------------------'


复制代码



电路板:

  1.                                       +-----+
  2.          +----[PWR]-------------------| USB |--+
  3.          |                            +-----+  |
  4.          |           GND/RST2  [ ] [ ]         |
  5.          |         MOSI2/SCK2  [ ] [ ]  SCL[ ] |   D0
  6.          |            5V/MISO2 [ ] [ ]  SDA[ ] |   D1
  7.          |                             AREF[ ] |
  8.          |                              GND[ ] |
  9.          | [ ]N/C                        13[ ]~|   B7
  10.          | [ ]IOREF                      12[ ]~|   B6
  11.          | [ ]RST                        11[ ]~|   B5
  12.          | [ ]3V3      +----------+      10[ ]~|   B4
  13.          | [ ]5v       | ARDUINO  |       9[ ]~|   H6
  14.          | [ ]GND      |   MEGA   |       8[ ]~|   H5
  15.          | [ ]GND      +----------+            |
  16.          | [ ]Vin                         7[ ]~|   H4
  17.          |                                6[ ]~|   H3
  18.          | [ ]A0                          5[ ]~|   E3
  19.          | [ ]A1                          4[ ]~|   G5
  20.          | [ ]A2                     INT5/3[ ]~|   E5
  21.          | [ ]A3                     INT4/2[ ]~|   E4
  22.          | [ ]A4                       TX>1[ ]~|   E1
  23.          | [ ]A5                       RX<0[ ]~|   E0
  24.          | [ ]A6                               |   
  25.          | [ ]A7                     TX3/14[ ] |   J1
  26.          |                           RX3/15[ ] |   J0
  27.          | [ ]A8                     TX2/16[ ] |   H1         
  28.          | [ ]A9                     RX2/17[ ] |   H0
  29.          | [ ]A10               TX1/INT3/18[ ] |   D3         
  30.          | [ ]A11               RX1/INT2/19[ ] |   D2
  31.          | [ ]A12           I2C-SDA/INT1/20[ ] |   D1         
  32.          | [ ]A13           I2C-SCL/INT0/21[ ] |   D0
  33.          | [ ]A14                              |            
  34.          | [ ]A15                              |   Ports:
  35.          |                RST SCK MISO         |    22=A0  23=A1   
  36.          |         ICSP   [ ] [ ] [ ]          |    24=A2  25=A3   
  37.          |                [ ] [ ] [ ]          |    26=A4  27=A5   
  38.          |                GND MOSI 5V          |    28=A6  29=A7   
  39.          | G                                   |    30=C7  31=C6   
  40.          | N 5 5 4 4 4 4 4 3 3 3 3 3 2 2 2 2 5 |    32=C5  33=C4   
  41.          | D 2 0 8 6 4 2 0 8 6 4 2 0 8 6 4 2 V |    34=C3  35=C2   
  42.          |         ~ ~                         |    36=C1  37=C0   
  43.          | @ # # # # # # # # # # # # # # # # @ |    38=D7  39=G2   
  44.          | @ # # # # # # # # # # # # # # # # @ |    40=G1  41=G0   
  45.          |           ~                         |    42=L7  43=L6   
  46.          | G 5 5 4 4 4 4 4 3 3 3 3 3 2 2 2 2 5 |    44=L5  45=L4   
  47.          | N 3 1 9 7 5 3 1 9 7 5 3 1 9 7 5 3 V |    46=L3  47=L2   
  48.          | D                                   |    48=L1  49=L0    SPI:
  49.          |                                     |    50=B3  51=B2     50=MISO 51=MOSI
  50.          |     2560                ____________/    52=B1  53=B0     52=SCK  53=SS
  51.           \_______________________/         
  52.          
  53.          http://busyducks.com/ascii-art-arduinos

  54.                       +-----+
  55.          +------------| USB |------------+
  56.          |            +-----+            |
  57.     B5   | [ ]D13/SCK        MISO/D12[ ] |   B4
  58.          | [ ]3.3V           MOSI/D11[ ]~|   B3
  59.          | [ ]V.ref     ___    SS/D10[ ]~|   B2
  60.     C0   | [ ]A0       / N \       D9[ ]~|   B1
  61.     C1   | [ ]A1      /  A  \      D8[ ] |   B0
  62.     C2   | [ ]A2      \  N  /      D7[ ] |   D7
  63.     C3   | [ ]A3       \_0_/       D6[ ]~|   D6
  64.     C4   | [ ]A4/SDA               D5[ ]~|   D5
  65.     C5   | [ ]A5/SCL               D4[ ] |   D4
  66.          | [ ]A6              INT1/D3[ ]~|   D3
  67.          | [ ]A7              INT0/D2[ ] |   D2
  68.          | [ ]5V                  GND[ ] |     
  69.     C6   | [ ]RST                 RST[ ] |   C6
  70.          | [ ]GND   5V MOSI GND   TX1[ ] |   D0
  71.          | [ ]Vin   [ ] [ ] [ ]   RX1[ ] |   D1
  72.          |          [ ] [ ] [ ]          |
  73.          |          MISO SCK RST         |
  74.          | NANO-V3                       |
  75.          +-------------------------------+
  76.          
  77.          http://busyducks.com/ascii-art-arduinos

复制代码

原理图:

5.png


时序图框图:
  1. /*
  2. *********************************************************************************************************
  3. *        函 数 名: LCDH7_ConfigLTDC
  4. *        功能说明: 配置LTDC
  5. *        形    参: 无
  6. *        返 回 值: 无
  7. *        笔    记:
  8. *       LCD_TFT 同步时序配置(整理自官方做的一个截图,言简意赅):
  9. *       ----------------------------------------------------------------------------
  10. *   
  11. *                                                 Total Width
  12. *                             <--------------------------------------------------->
  13. *                       Hsync width HBP             Active Width                HFP
  14. *                             <---><--><--------------------------------------><-->
  15. *                         ____    ____|_______________________________________|____
  16. *                             |___|   |                                       |    |
  17. *                                     |                                       |    |
  18. *                         __|         |                                       |    |
  19. *            /|\    /|\  |            |                                       |    |
  20. *             | VSYNC|   |            |                                       |    |
  21. *             |Width\|/  |__          |                                       |    |
  22. *             |     /|\     |         |                                       |    |
  23. *             |  VBP |      |         |                                       |    |
  24. *             |     \|/_____|_________|_______________________________________|    |
  25. *             |     /|\     |         | / / / / / / / / / / / / / / / / / / / |    |
  26. *             |      |      |         |/ / / / / / / / / / / / / / / / / / / /|    |
  27. *    Total    |      |      |         |/ / / / / / / / / / / / / / / / / / / /|    |
  28. *    Heigh    |      |      |         |/ / / / / / / / / / / / / / / / / / / /|    |
  29. *             |Active|      |         |/ / / / / / / / / / / / / / / / / / / /|    |
  30. *             |Heigh |      |         |/ / / / / / Active Display Area / / / /|    |
  31. *             |      |      |         |/ / / / / / / / / / / / / / / / / / / /|    |
  32. *             |      |      |         |/ / / / / / / / / / / / / / / / / / / /|    |
  33. *             |      |      |         |/ / / / / / / / / / / / / / / / / / / /|    |
  34. *             |      |      |         |/ / / / / / / / / / / / / / / / / / / /|    |
  35. *             |      |      |         |/ / / / / / / / / / / / / / / / / / / /|    |
  36. *             |     \|/_____|_________|_______________________________________|    |
  37. *             |     /|\     |                                                      |
  38. *             |  VFP |      |                                                      |
  39. *            \|/    \|/_____|______________________________________________________|
  40. *            
  41. *********************************************************************************************************
  42. */
复制代码


链表:
  1. /*
  2. ************************************************************************************************************************
  3. *                                  INSERT A TASK BASED ON IT'S PRIORITY IN A PEND LIST
  4. *
  5. * Description: This function is called to place an OS_TCB entry in a linked list based on its priority.  The
  6. *              highest priority being placed at the head of the list. The TCB is assumed to contain the priority
  7. *              of the task in its .Prio field.
  8. *
  9. *              CASE 0: Insert in an empty list.
  10. *
  11. *                     OS_PEND_LIST
  12. *                     +---------------+
  13. *                     | TailPtr       |-> 0
  14. *                     +---------------+
  15. *                     | HeadPtr       |-> 0
  16. *                     +---------------+
  17. *                     | NbrEntries=0  |
  18. *                     +---------------+
  19. *
  20. *
  21. *
  22. *              CASE 1: Insert BEFORE or AFTER an OS_TCB
  23. *
  24. *                     OS_PEND_LIST
  25. *                     +--------------+         OS_TCB
  26. *                     | TailPtr      |--+---> +--------------+
  27. *                     +--------------+  |     | PendNextPtr  |->0
  28. *                     | HeadPtr      |--/     +--------------+
  29. *                     +--------------+     0<-| PendPrevPtr  |
  30. *                     | NbrEntries=1 |        +--------------+
  31. *                     +--------------+        |              |
  32. *                                             +--------------+
  33. *                                             |              |
  34. *                                             +--------------+
  35. *
  36. *
  37. *                     OS_PEND_LIST
  38. *                     +--------------+
  39. *                     | TailPtr      |---------------------------------------------------+
  40. *                     +--------------+         OS_TCB                 OS_TCB             |    OS_TCB
  41. *                     | HeadPtr      |------> +--------------+       +--------------+    +-> +--------------+
  42. *                     +--------------+        | PendNextPtr  |<------| PendNextPtr  | ...... | PendNextPtr  |->0
  43. *                     | NbrEntries=N |        +--------------+       +--------------+        +--------------+
  44. *                     +--------------+     0<-| PendPrevPtr  |<------| PendPrevPtr  | ...... | PendPrevPtr  |
  45. *                                             +--------------+       +--------------+        +--------------+
  46. *                                             |              |       |              |        |              |
  47. *                                             +--------------+       +--------------+        +--------------+
  48. *                                             |              |       |              |        |              |
  49. *                                             +--------------+       +--------------+        +--------------+
复制代码



非常不错的几款工具:
(1)http://www.jave.de/
60rc2_screenshot.png


(2)原理图这个还有专门的小软件来生成,非常方便:
https://josoansi.de/download.php
QQ截图20200402021857.png

(3)使用“类似于Visio”的工具在代码中添加和编辑图表
https://www.codeproject.com/Arti ... agrams-in-your-code
CodePlotter.jpg


评分

参与人数 2金币 +40 收起 理由
木兰花 + 20 很给力!
missfox + 20 很给力!

查看全部评分

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106721
QQ
 楼主| 发表于 2020-4-2 02:48:25 | 显示全部楼层
texbunny.gif
回复

使用道具 举报

27

主题

95

回帖

181

积分

初级会员

积分
181
发表于 2020-4-2 08:22:02 | 显示全部楼层
牛逼了,这个动图怎么玩出来的
回复

使用道具 举报

18

主题

321

回帖

375

积分

高级会员

积分
375
发表于 2020-4-2 09:04:53 | 显示全部楼层
太厉害了
回复

使用道具 举报

1

主题

33

回帖

36

积分

新手上路

积分
36
发表于 2020-4-2 09:33:28 | 显示全部楼层
  牛!&#128046;。但是建议硬汉早点休息,减少熬夜!
回复

使用道具 举报

0

主题

26

回帖

26

积分

新手上路

积分
26
发表于 2020-4-2 09:55:28 | 显示全部楼层
这个(“类似于Visio”)只能在VC下使用吗?  visual studio 2015不太一样,不知道咋装了?
回复

使用道具 举报

39

主题

928

回帖

1050

积分

至尊会员

积分
1050
发表于 2020-4-2 10:08:13 | 显示全部楼层
这是闲的吧?我要这么做,估计会被老板骂
回复

使用道具 举报

27

主题

95

回帖

181

积分

初级会员

积分
181
发表于 2020-4-2 10:38:50 | 显示全部楼层




                                             _,cc.
                                          ,d$$$$$$'
                                          $$$$$F'
                                          $$$$'
                             _,,c,,c_c_,d$$$$$F_c$$$$$$$$_.
                           d$$$$$$$$$$$$$F'$$F$$$$$?$$$$$$$$.
                         ,$$Fd$$$$$$$$$$$?$F$$$$$$$$$$$$$$h.$h
                         $$d$$$$$$$$$$$$$$$$$d$$$$$$$'Z$$$$h$$.
                        d$F$$$$$$$$$$$$$$$$$$$$$$$$$$h$$$c;$$$$
                        d$h$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$F$$F
                        ]$$$$$$$$$$$O$$$$$$$$$$$$$$$$$$cd$$'
                        `$$]$$$$$$$$d$$$$$$$$$$$$$$$$$$$$$'
                         ?$h?$$$$$$$$$$$$$$$$$$$$$$$$$h]$$
                          ?$h?$$$$$$$$$$$$$$$$$$$$$$$$$]$$
                           ?$h?$$$$$$$$$$$$$$$$$$$$$M$$h$$hd
                            ?$$`$$$$$$$$$$$$$$$$$$$$$$$$[$$$F
                              ?$$$?F$$$$$$$$$$$$$$$$$$FF$$?F
                                '??$$'`FFFF?$FFFFFF''$$$F'
                                   '"?F$$$$$$$$$$$$$F"'
                                          `'''''''


回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106721
QQ
 楼主| 发表于 2020-4-2 10:42:51 | 显示全部楼层
lsx_007 发表于 2020-4-2 09:55
这个(“类似于Visio”)只能在VC下使用吗?  visual studio 2015不太一样,不知道咋装了?

说明里面写的是VS,我看了下稍有点麻烦。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106721
QQ
 楼主| 发表于 2020-4-2 10:44:20 | 显示全部楼层
ghslfgkkl88 发表于 2020-4-2 10:08
这是闲的吧?我要这么做,估计会被老板骂

这东西用多了会上瘾,像uCOS源码里面的一批链表注释就很方便。
回复

使用道具 举报

16

主题

148

回帖

196

积分

初级会员

积分
196
发表于 2020-4-2 10:49:21 | 显示全部楼层
eric2013 发表于 2020-4-2 10:44
这东西用多了会上瘾,像uCOS源码里面的一批链表注释就很方便。

硬汉兄 我看了一下 有些使用起来还是比较麻烦的  有考虑出一个对于数据结构和流程图 的简易上手教程  这里面哪个软件最适用数据结构的绘制的,我感觉这个我现在用到的最多,或者目前你使用的哪个软件频次最高
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106721
QQ
 楼主| 发表于 2020-4-2 11:18:00 | 显示全部楼层
dyhfaily 发表于 2020-4-2 10:49
硬汉兄 我看了一下 有些使用起来还是比较麻烦的  有考虑出一个对于数据结构和流程图 的简易上手教程  这 ...

我还没有找到比较好用的软件,昨天心血来潮,专门整理了下。

这段时间我先实战下。
回复

使用道具 举报

39

主题

928

回帖

1050

积分

至尊会员

积分
1050
发表于 2020-4-2 11:18:24 | 显示全部楼层
eric2013 发表于 2020-4-2 10:44
这东西用多了会上瘾,像uCOS源码里面的一批链表注释就很方便。

我说的是那个动图
回复

使用道具 举报

16

主题

148

回帖

196

积分

初级会员

积分
196
发表于 2020-4-2 11:24:14 | 显示全部楼层
eric2013 发表于 2020-4-2 11:18
我还没有找到比较好用的软件,昨天心血来潮,专门整理了下。

这段时间我先实战下。

嗯嗯  期待老哥的教程
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106721
QQ
 楼主| 发表于 2020-4-2 14:44:36 | 显示全部楼层
ghslfgkkl88 发表于 2020-4-2 11:18
我说的是那个动图

那还真有可能。
回复

使用道具 举报

23

主题

1406

回帖

1475

积分

至尊会员

积分
1475
发表于 2020-4-2 18:21:17 | 显示全部楼层
大赞
代码不规范,亲人两行泪!
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106721
QQ
 楼主| 发表于 2021-9-28 01:05:30 | 显示全部楼层
https://asciiflow.com/
http://asciiflow.cn/

做代码注释非常不错。
回复

使用道具 举报

9

主题

50

回帖

77

积分

初级会员

积分
77
发表于 2023-2-24 22:59:04 | 显示全部楼层
image.png

vscode插件
回复

使用道具 举报

1

主题

61

回帖

64

积分

初级会员

积分
64
发表于 2023-2-25 08:28:26 | 显示全部楼层
这个网站好,
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-1 08:41 , Processed in 0.397286 second(s), 32 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表