分类 IDE 下的文章

在 main.c 中增加

/* USER CODE BEGIN Includes */
#include <stdio.h>
/* USER CODE END Includes */

/* USER CODE BEGIN 0 */
#ifdef __GNUC__
    #define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
#else
    #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
#endif

PUTCHAR_PROTOTYPE
{
    HAL_UART_Transmit(&huart5, (uint8_t *)&ch, 1, HAL_MAX_DELAY);
    return ch;
}
/* USER CODE END 0 */

...main...
  /* USER CODE BEGIN 2 */
  printf("abc\n");
  printf("a = %d\n", 100);
  printf("b = %f\n", 1.23);
  /* USER CODE END 2 */

注意后面需要加 "\n",不然有可能不显示出来,或者可以用 fflush(stdout)。 浮点数需要开启 浮点数支持,project --> properties --> c/c++ build --> setting --> tools setting --> mcu setting --> use float xxx 参考: https://www.cnblogs.com/tianxxl/p/11970459.html http://ibotx.com/?p=198

当使用 secureCRT 进行调试的时候,"\n" 下一行不会从最左边开始显示。如果想要 "\n" 实现 "\r\n" 的效果,只要设置 会话选项 --> 终端 --> 仿真 --> 模式 --> 新行模式。 参考:http://www.mamicode.com/info-detail-204918.html

如果想要每个外设的配置文件放在单独的文件里面,可以在 mx 的 project manager --> code generator --> generate periheral initialization as apair of “.c/.h” files per periheral;

1. 生成 tex

在 org 文件中按键 C-c C-e l l 这样能够生成 tex 文件

参考: http://tieba.baidu.com/p/3522363035

https://www.dazhuanlan.com/2019/10/16/5da60df92dd09/

https://blog.csdn.net/sinat_41104353/article/details/86763490 https://blog.csdn.net/yivanus/article/details/8689651 https://blog.csdn.net/sinat_41104353/article/details/86763490 https://sunyour.org/post/20160327-emacs-org-to-pdf-with-latex/

2. 报错处理。

当提示 "pdf was not produced. See "Org PDF LaTEx Output" for details" , 具体信息在 buffer 里面,通过 C-x b , 然后输入 *org ,自动补全后打开,即可看到错误信息。 解决方法: texlive 选择全部安装。

3. 在 org 的文件头部添加

#+LATEX_HEADER: \usepackage[UTF8]{ctex}

使用 xelatex 来输出有两种方法,

#+LATEX_CMD: xelatex

或者

(setq org-latex-pdf-process '("xelatex -interaction nonstopmode %f"
                              "xelatex -interaction nonstopmode %f"))

参考: https://sunyour.org/post/20160327-emacs-org-to-pdf-with-latex/

4. 官方org网站: https://orgmode.org/

系统: win7en

在 emacs 文件的开头输入:

-*- coding: utf-8 -*-

这样就可以以 utf-8 的编码进行保存。

还可以在配置文件中加入: (setq default-buffer-file-coding-system 'utf-8-unix) 。 具体参考: https://www.cnblogs.com/taosim/articles/3327909.html http://www.bubuko.com/infodetail-1878850.html https://www.emacswiki.org/emacs/ChangingEncodings

M-x describe-font RET 使用这个命令可以获得当前设置的字体描述。

中文会卡也有可能是行号功能的问题, linum-mode 可能导致卡,所以 emacs26 新加了一个 display-line-numbers-mode,这个没有性能问题,应该不会卡。

在 windows 环境下,emacs 的配置目录可以通过下面几种方式来设置:

  1. If the environment variableHOME is set, use the directory it indicates.
  2. If the registry entry HKCU\SOFTWARE\GNU\Emacs\HOME is set, use the directory it indicates.
  3. If the registry entry HKLM\SOFTWARE\GNU\Emacs\HOME is set, use the directory it indicates. Not recommended, as it results in users sharing the same HOME directory.
  4. If C:.emacs exists, then use C:/. This is for backward compatibility, as previous versions defaulted to C:/ if HOME was not set.
  5. Use the user's AppData directory, usually a directory called Application Data under the user's profile directory, the location of which varies according to Windows version and whether the computer is part of a domain.

HOME 是 String 类型的值。

然后运行 bin\runemacs.exe 就可以打开 emacs 了。

  1. 远程建立仓库
  2. vcs --> import into version control --> create git respository
  3. 选中整个工程(project 页面) vcs --> git -> add
  4. vcs --> git --> remote 配置远程仓库
  5. vcs --> update project --> merge --> ok
  6. vcs --> git --> commit
  7. 在项目目录下打开 git bash,输入 git pull origin master -–allow-unrelated-histories
  8. vcs --> git --> push

参考: https://www.jianshu.com/p/059ed1e01229 https://blog.csdn.net/qq_30389893/article/details/90600250

首先正常安装芯片包,然后在设置里面找到当前包存放的位置,默认是: C:\Users\Administrator\STM32Cube\Repository

然后解压 更新包,把更新包里面的文件覆盖到 C:\Users\Administrator\STM32Cube\Repository 这个里面,重新打开 cubemx,就可以看到显示的是新的芯片包了。

#define EventStopA(slot)           EventRecord2 (0xEF20U+EventLevelError+((slot) & 0xFU), ((uint32_t) __FILE__), __LINE__)

从这个宏定义可以看出,MDK是通过分析EventRecord2函数的 ID 数值来识别是否是 EventStop 之类的功能的,如果是这些功能,那就把后面的数值转化为相应的文件和行号,并可以进行相应的定位。

转自: https://www.douban.com/note/688353496/

版权归作者所有,任何形式转载请联系作者。 作者:Steven(来自豆瓣) 来源:https://www.douban.com/note/688353496/

笔者用emacs已经好多年,一直在arch上开发。困扰了很长一段时间的中文问题,今天解决了,把解决的路径分享下,希望有帮助。

  1. 关于你用什么输入法,不管你是Ibus也好fcitx也好,应该是无所谓的。

  2. emacs不解决编码问题,必须要在启动的时候设置LC_CTYPE=zh_CN.utf8,当然这个设置对不对,你要看你的locale -a的结果(注意这里有的系统是zh_CN.UTF-8,有的是zh_CN.utf8,看locale -a的结果设置),得开进程前env LC_CTYPE=zh_CN.utf8,很多教程,我不做多赘述。不确定自己是否设置正确,可以/bin/emacs -Q,进去后ALT-X,getenv,LC_CTYPE看是否是zh_CN.utf8。

  3. 别忘了设置$HOME/.xprofile。

export GTK_IM_MODULE=fcitx export QT_IM_MODULE=fcitx export XMODIFIERS="@im=fcitx"

由于不同的桌面环境,比如用i3的朋友就需要设置到.xinitrc里。

这一步是为了让你的GTK和QT应用能直接呼出fcitx,这一步不设置啥都出不来。

  1. 字体问题:也可以直接看这个设置:https://wiki.archlinux.org/index.php/Fcitx_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)

Emacs 默认 fontset 会使用 "----r-normal--14-------" 字体 (terminus, 75dpi 等等,可以通过xlsfonts命令查看),如果您并没有匹配的字体,无法呼出 Fcitx.

  1. 恭喜你基本快成功了,如果这时候你还是呼不出fcitx或者ibus输入法。就可能跟你的桌面环境或者字体有关系了。 笔者用的fcitx,先说下fctix,用fcitx-diagnose诊断下是否有问题,emacs26是依赖gtk3的,只要gtk3设置了,就基本没问题了。那么还是呼出不了fcitx是怎么回事,这个论坛给了我答案,我系统的字体设置设置出了问题。可以根据这里的设置来解决这个问题:https://wiki.archlinux.org/index.php/Fonts#Installation

  2. 设置你系统载入的字体配置(这部分看上面链接即可)

/etc/fonts/local.conf

里面加入fallback的字体配置

  1. 确认你的fcitx进程存在。可以通过fcitx-diagnose来查看有没有问题,其实emacs也不一定非要设置编码格式,我取消了zh_CN.UTF8也能呼出输入法,这个目前还不太明白。

Done!,重启电脑,/bin/emacs -Q,测试下能不能呼出输入法,能呼出输入法中文写不到emacs一定是LC_CTYPE或者字体问题。不能呼出就是桌面环境问题或者.xprofile的问题。弄个空的emacs测试,有可能你的一些自己配置的lisp搞乱了环境,笔者就因为是fork的别人的emacs, emacs -Q 跑的没问题,后来排除了问题。