Yim_Hom 发表于 2024-8-17 21:39:01

基于8H8K64U及官方库函数进行新建工程_第二部分

接上一篇


4、开始新建工程

(1)、打开Keil,点击”Project”,点击”New uVision Project”,




(2)、在弹出的窗口中,依次点击文件路径,找到Sample文件夹



(3)、打开Project文件夹,输入工程名示例“STC8”,并点击“保存”。




(4)、点击“保存”后,在弹出的对话框中选择“STM MCU Database”,可通过在“Search”中输入“STC8H8K64U”查找或选择STC下的对应MCU型号找到“STC8H8K64U”,完成后点击“OK”。

注:此处“Use Extended Linker (LX51) instead of BL51”点选“√”。




(5)、点击“OK”后弹出的对话框选择“否”即可,(有需要也可自行添加)




(6)、此时即进入到工程界面,




(7)、在工程界面中点击魔法棒,进入“Options for Targe ‘ ’”窗口,




在“Target”选项卡中,依次对“Memory Model”、“Code Rom Size”进行选择,

此处截图参照个人习惯完成,您可以根据自己的需求来进行,




在“Output”选项卡中,点击“Select Folder for Object…”;




弹出窗口“Browse for Folder”,并双击“Output”后选择“OK”。






选择“OK”后返回到“Options for Target”窗口,勾选“Creat HEX File”;




随后点击“C51”选项卡,




在“C51”选项卡中点击“Include Path”项后面的“…”




弹出新的对话框“Folder Setup”,




在“Folder Setup”中点击“New(Insert)”图标后点击“…”,




除“Out”和“Project”文件夹外,依次选择每一个文件夹,然后点击“选择文件夹”,将User、Start、System、Library、Hardware五个文件夹都进行添加。




添加完成后如下:






然后点击“OK”,回到“C51”选项卡如下:




继续点击“LX51 Misc”选项卡,在“Misc control”中输入“REMOVEUNUSED”,




随后点击“OK”




(8)、在工程界面中点击图标,进入“Manage Project Items”对话框,




双击第一列的“Target 1”,修改Project Target名称为“STC8”,




双击第二列中“Source Group 1”,修改Group名称为“User”,




随后,依次点击“New(Insert)”图标,完成Hardware、System、Start、Library的建立,




完成建立后,工程界面左侧即显示如下:




刚才进行过粘贴的文件夹依次是System、Start、Library,所以我们依次选择这三个来进行增加:

在左侧System名称点右键,弹出菜单选择“Add Existing Files to Group ‘System’…”




在弹出的窗口中选择System文件夹下的Config.h和Type_def.h,并点击Add。




添加完成后:




然后依次对Start、Library进行添加,完成后如下:



此时完成对通过复制粘贴的官方库函数进行添加。


(9)、接下来在User文件夹下添加main.c和main.h

main.c作为主函数

main.h作为主函数的头文件

在User上点右键,选择“Add New Item to Group ‘User’…”,





在弹出的窗口中完成如下操作:
A、 选择C File (.c)
B、 Name中输入main
C、 Location中选择User路径
D、 完成后点击Add






继续在User上点击右键,选择“Add New Item to Group ‘User’…”,



在弹出的窗口中完成如下操作:A、 选择Header File(.h)B、 Name中输入mainC、 Location中选择User路径D、 完成后点击Add

以上操作完成后如下:




接下来,

在打开的main.h中,输入:

#ifndef __main_H

#define __main_H




#endif







在打开的main.c中,输入:



#include "main.h"



void main(void)

{
   while(1)

    {


    }

}





然后点击rebuild,完成编译后如下:

此时完成整个工程的建立和编译。


若以后官方库函数进行过修改,可直接对修改的部分或全部进行替换,方便使用。







hycuzcre 发表于 2025-2-24 15:10:58

你好我想用ai来写代码需要搭建库环境   按照你的教程   有部分通不过创建不了你看下我小白
Rebuild started: Project: STC8
Rebuild target 'STC8'
compiling main.c...
assembling isr.asm...
compiling STC8G_H_ADC.c...
compiling STC8G_H_ADC_Isr.c...
compiling STC8G_H_Compare.c...
compiling STC8G_H_Compare_Isr.c...
compiling STC8G_H_Delay.c...
compiling STC8G_H_EEPROM.c...
compiling STC8G_H_Exti.c...
..\Library\STC8G_H_Exti.h(29): error C231: 'INT0': redefinition
..\Library\STC8G_H_Exti.h(30): error C231: 'INT1': redefinition
compiling STC8G_H_Exti_Isr.c...
..\Library\STC8G_H_Exti.h(29): error C231: 'INT0': redefinition
..\Library\STC8G_H_Exti.h(30): error C231: 'INT1': redefinition
compiling STC8G_H_GPIO.c...
compiling STC8G_H_GPIO_Isr.c...
compiling STC8G_H_I2C.c...
compiling STC8G_H_I2C_Isr.c...
compiling STC8G_H_NVIC.c...
compiling STC8G_H_Soft_I2C.c...
compiling STC8G_H_Soft_UART.c...
compiling STC8G_H_SPI.c...
compiling STC8G_H_SPI_Isr.c...
compiling STC8G_H_Timer.c...
compiling STC8G_H_Timer_Isr.c...
compiling STC8G_H_UART.c...
compiling STC8G_H_UART_Isr.c...
compiling STC8G_H_WDT.c...
compiling STC8G_PCA.c...
compiling STC8G_PCA_Isr.c...
compiling STC8G_PWM15bit.c...
compiling STC8G_PWM15bit_Isr.c...
compiling STC8H_DMA.c...
compiling STC8H_DMA_Isr.c...
compiling STC8H_PWM.c...
compiling STC8H_PWM_Isr.c...
compiling STC8H_RTC.c...
compiling STC8H_RTC_Isr.c...
Target not created.
Build Time Elapsed:00:00:02

Yim_Hom 发表于 2025-2-24 18:49:28

..\Library\STC8G_H_Exti.h(29): error C231: 'INT0': redefinition
..\Library\STC8G_H_Exti.h(30): error C231: 'INT1': redefinition
compiling STC8G_H_Exti_Isr.c...
..\Library\STC8G_H_Exti.h(29): error C231: 'INT0': redefinition
..\Library\STC8G_H_Exti.h(30): error C231: 'INT1': redefinition

对照着找问题不就可以了嘛
页: [1]
查看完整版本: 基于8H8K64U及官方库函数进行新建工程_第二部分