找回密码
 立即注册
查看: 936|回复: 2

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

[复制链接]
  • 打卡等级:以坛为家I
  • 打卡总天数:213
  • 最近打卡:2025-04-23 20:59:03
已绑定手机

36

主题

560

回帖

1885

积分

荣誉版主

积分
1885
发表于 2024-8-17 21:39:01 | 显示全部楼层 |阅读模式
接上一篇


4、开始新建工程

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

截图202408172119414080.jpg


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


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

截图202408172121191599.jpg


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

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

截图202408172121469117.jpg


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

截图202408172122144578.jpg


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

截图202408172122395411.jpg


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

截图202408172123189787.jpg


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

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

截图202408172123439172.jpg


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

截图202408172124072158.jpg


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

截图202408172124375152.jpg

截图202408172124467359.jpg


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

截图202408172125531107.jpg


随后点击“C51”选项卡,

截图202408172126231407.jpg


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

截图202408172126467291.jpg


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

截图202408172127114342.jpg


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

截图202408172127495584.jpg


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

截图202408172128169854.jpg


添加完成后如下:

截图202408172128362924.jpg

截图202408172128466052.jpg


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

截图202408172129156345.jpg


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

截图202408172129362391.jpg


随后点击“OK”

截图202408172129578027.jpg


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

截图202408172130312971.jpg


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

截图202408172130526839.jpg


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

截图202408172131164555.jpg


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

截图202408172131562878.jpg


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

截图202408172132256067.jpg


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

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

截图202408172132519838.jpg


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

截图202408172133148664.jpg


添加完成后:

截图202408172133374136.jpg


然后依次对Start、Library进行添加,完成后如下:
截图202408172134061065.jpg


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


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

main.c作为主函数

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

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

截图202408172134421734.jpg



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



截图202408172136016327.jpg


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

截图202408172136306476.jpg

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

以上操作完成后如下:

截图202408172137146402.jpg


接下来,

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

#ifndef __main_H

#define __main_H




#endif



截图202408172137427166.jpg



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



#include "main.h"



void main(void)

{
   while(1)

    {


    }

}



截图202408172138079380.jpg

然后点击rebuild 截图202408172138258512.jpg ,完成编译后如下:
截图202408172138379837.jpg

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


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







回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2025-03-28 19:09:35
已绑定手机

1

主题

5

回帖

75

积分

注册会员

积分
75
发表于 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
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:213
  • 最近打卡:2025-04-23 20:59:03
已绑定手机

36

主题

560

回帖

1885

积分

荣誉版主

积分
1885
发表于 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

对照着找问题不就可以了嘛
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 00:21 , Processed in 0.108345 second(s), 64 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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