STM32不一样玩法 STM32CubeMx Clion C++(三)——新建C样例工程

打开Cube,新建工程, 选择芯片型号,我这里选择F405,我用自制的板子。
STM32不一样玩法 STM32CubeMx Clion C++(三)——新建C样例工程_第1张图片

选择需要的功能,这里选择PA7和PB8作为OutPut,A7是接Led,B8接Beep,还选择了USART3。RCC接了个25M晶振,选一下。
STM32不一样玩法 STM32CubeMx Clion C++(三)——新建C样例工程_第2张图片

时钟配置,晶振输入25M,HCLK那个框里输入168M,按enter就ok,就是这么简单暴力。
STM32不一样玩法 STM32CubeMx Clion C++(三)——新建C样例工程_第3张图片

功能配置,串口,GPIO等可以配置一下,因为是样例工程,简单点,我啥也没改,记住默认串口波特率 115200 就行了。
STM32不一样玩法 STM32CubeMx Clion C++(三)——新建C样例工程_第4张图片

可以生成代码了,点工具栏上那个小齿轮
这里写图片描述

接下来是输出选项,很重要,Heap是用户申请内存的地方,要支持C++,这个设大一点。工具选择SW4STM32,因为没有Clion专门的输出选项。
STM32不一样玩法 STM32CubeMx Clion C++(三)——新建C样例工程_第5张图片

点击 ok 输出代码,第一次可能会提示需要下载库,下载就行。不要点击打开工程,直接关闭就行。
STM32不一样玩法 STM32CubeMx Clion C++(三)——新建C样例工程_第6张图片

打开Clion,开始导入工程,选择Import Project from Souces。
STM32不一样玩法 STM32CubeMx Clion C++(三)——新建C样例工程_第7张图片

找到刚刚Cube设置的输出目录
STM32不一样玩法 STM32CubeMx Clion C++(三)——新建C样例工程_第8张图片

接下来一步什么也不用管,直接点OK
STM32不一样玩法 STM32CubeMx Clion C++(三)——新建C样例工程_第9张图片

前一部分我们已经安装了Clion插件,对Cube和opnocd的支持,这个时候Tools菜单下多出一个选项Update Cmake… 点击它。
STM32不一样玩法 STM32CubeMx Clion C++(三)——新建C样例工程_第10张图片

现在点击编译,就是那个小锤子,看下方控制台输出信息,发现编译成功了,不过现在还不能下载到单片机里,看编译图标(小锤子)旁边那个,OCD Test,有个红叉,说明不能下载。
STM32不一样玩法 STM32CubeMx Clion C++(三)——新建C样例工程_第11张图片

进入配置界面,先点下图指的地方
STM32不一样玩法 STM32CubeMx Clion C++(三)——新建C样例工程_第12张图片

只需要选择openocd的cfg文件就可以了,其它默认,点箭头指的地方。
STM32不一样玩法 STM32CubeMx Clion C++(三)——新建C样例工程_第13张图片

软件会自动定位到openocd的脚本目录,当然这需要前面设置的时候选对openocd的home目录,选择板子型号,我的板子是自制的,芯片STM32F405RGT6,选择下面这个板子。
STM32不一样玩法 STM32CubeMx Clion C++(三)——新建C样例工程_第14张图片

点击ok,退出配置页面,发现OCD Test上面的红叉消失了,然而还差一步,用文本编辑器打开刚刚选的那个文件,set WORKEARESIZE那里,原来是0x10000(64k),我改为0x30000(192k),因为f405rg的内存是192k,最后一句注释掉,就是加个 #号,和重启模式有关,不注释的话,可能无法连接单片机。
STM32不一样玩法 STM32CubeMx Clion C++(三)——新建C样例工程_第15张图片

好了,可以下载程序了,stlink插电脑上,连好芯片,点运行按钮(那个小三角)即可,看控制台信息,发现下载成功。
STM32不一样玩法 STM32CubeMx Clion C++(三)——新建C样例工程_第16张图片

下面我们测试一下工作正常不,打开main.c文件,加入下面代码,就是led闪烁的代码,我用寄存器写的,用HAL库函数也可以,但我喜欢初始化使用库,循环里使用寄存器。

GPIOA->ODR|=GPIO_PIN_7;
HAL_Delay(500);
GPIOA->ODR&=~GPIO_PIN_7;
HAL_Delay(500);

看到没,自动代码提示,Clion就是这么强大,虽然Keil5也能代码提示,但没有这个智能(Clion智能排序候选项,Keil按名称排列,不仅仅是这点区别,总而言之,Clion代码编辑功能比Keil强太多了)。
STM32不一样玩法 STM32CubeMx Clion C++(三)——新建C样例工程_第17张图片

编译下载,直接点击运行,那个小三角,Clion自动编译修改过的地方,然后下载。下载成功后板子上led开始闪烁,图就不贴了。

未完待续…

你可能感兴趣的:(硬件设计)