<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[WiseLook的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/WiseLook</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; WiseLook]]></copyright><item><title><![CDATA[关于正点原子FreeRTOS动态创建任务实验，点灯任务亮灭不同步问题]]></title><link>https://blog.youkuaiyun.com/WiseLook/article/details/141258658</link><guid>https://blog.youkuaiyun.com/WiseLook/article/details/141258658</guid><author>WiseLook</author><pubDate>Fri, 16 Aug 2024 15:20:50 +0800</pubDate><description><![CDATA[可是如果是时钟没设置好，照理应该是两个灯亮灭周期不是500ms，而不应该是不同步亮灭的现象。在网上搜索了一番，也有人说是任务中使用了裸机延时函数，于是我重新检查了一遍代码，发现并没有一处有执行裸机延时函数。问题背景：我用的板子是STM32F103RCT6最小系统板，移植了FreeRTOS代码后，按照视频复刻了原子的实验代码。果然开了微库，在把微库MicroLIB关闭后，再把printf函数注释取消，问题也得到了解决。所以可以确定，是启用了微库和usart.c文件内的宏定义产生了冲突，导致了问题的出现。]]></description><category></category></item><item><title><![CDATA[gcc/g++编译时-l参数优先选择静态库还是动态库？]]></title><link>https://blog.youkuaiyun.com/WiseLook/article/details/141146350</link><guid>https://blog.youkuaiyun.com/WiseLook/article/details/141146350</guid><author>WiseLook</author><pubDate>Fri, 16 Aug 2024 01:25:59 +0800</pubDate><description><![CDATA[1. 因此想强制链接某一个静态库的时候，可以直接使用静态库的名字，包括后缀名和前缀，例如libcurl.a，不通过-l来链接。这样子就会把静态库直接链接进来，这个例子中要求test.cpp和libcurl.a在当前编译路径下。学习makefile时，同时采用了静态库和动态库的链接方式，发现编译器会优先选择动态库使用。对于gcc/g++，一般通过-l参数来链接动态库和静态库，默认优先使用动态库进行链接。2. 另一种方式是通过-static，这是静态链接，要求链接所有的库都有对应的静态库。]]></description><category></category></item><item><title><![CDATA[STM32必须要在C/C++配置里写STM32F10X_HD吗，不写可不可以？]]></title><link>https://blog.youkuaiyun.com/WiseLook/article/details/141068752</link><guid>https://blog.youkuaiyun.com/WiseLook/article/details/141068752</guid><author>WiseLook</author><pubDate>Fri, 09 Aug 2024 20:43:29 +0800</pubDate><description><![CDATA[一开始我认为应该是STM32的汇编启动文件中会提前做好宏定义，而后在启动文件中，并没有找到相关的宏定义。另外，如果Keil没帮我们自动宏定义的话，而我们又想实现自动宏定义的话，可以在stm32f10x.h文件里，去掉对应的注释。最近在配置STM32F103RCT6的标准库Keil工程时，发现如果我不手动添加宏定义STM32F10X_HD，编译也并不会报错或者警告。可以看到，即使没有手动添加，在将Keil工程配置好后，Keil便帮我们自动宏定义好了。先直接说答案，如果是用标准库配置的Keil工程可以不写。]]></description><category></category></item></channel></rss>