编程的终点掉发 发表于 2023-8-26 20:48:56

求助大佬

*** ERROR L127: UNRESOLVED EXTERNAL SYMBOL
    SYMBOL:nemset
    MODULE:.\Objects\Demo.obj (Demo)
*** ERROR L127: UNRESOLVED EXTERNAL SYMBOL
    SYMBOL:?nemset?BYTE
    MODULE:.\Objects\Demo.obj (Demo)
*** ERROR L128: REFERENCE MADE TO UNRESOLVED EXTERNAL
    SYMBOL:nemset
    MODULE:.\Objects\Demo.obj (Demo)
    ADDRESS: FF117EH
Program Size: data=8.4 edata+hdata=422 xdata=192 const=66 code=7674
Target not created.
Build Time Elapsed:00:00:01
nemset这个函数调用了头文件,编译还是不对;下面是代码


#include "COMM/stc.h"                //调用头文件
#include "COMM/stc32_stc8_usb.h"
#include "tim0.h"
#include "stdio.h"
#include "PWM.h"
#include "stdlib.h"
#include "string.h"

#define MAIN_Fosc 22118400L        //定义主时钟



char *USER_DEVICEDESC = NULL;
char *USER_PRODUCTDESC = NULL;
char *USER_STCISPCMD = "@STCISP#";

bitTIM_10MS_Flag;                        //10ms的标志位

void sys_init();        //函数声明
void delay_ms(u16 ms);        //unsigned int

void main()                                        //程序开始运行的入口
{
        u8i,j;
        int pwm = 0;
        sys_init();                                //USB功能+IO口初始化
        usb_init();                                //usb库初始化
        EUSB = 1;
        Timer0_Init();                        //定时器0初始化
        EA = 1;                                        //CPU开放中断,打开总中断。

        while( DeviceState != DEVSTATE_CONFIGURED );
//        delay_ms(2000);
       
        P40 = 0;
       
        PWMA_Init();
       
       
       
        while(1)                //死循环
        {
                PWMA1_Set(pwm);          //初始化参数
                delay_ms(2);

                if( bUsbOutReady )                                                               
                {
                        //发送文本
                        pwm = atoi(UsbOutBuffer);
                        printf("pwm比较值:%d\r\n",pwm);
//                        USB_SendData(UsbOutBuffer,OutNumber);
                       
                        usb_OUT_done();
                       
                        nemset(UsbOutBuffer,0,OutNumber);
                       
                }

                if( TIM_10MS_Flag==1 )                                                                        //如果10ms到了
                {
                        TIM_10MS_Flag = 0;                                                                        //清空标志位       
               
                }
                       
        }
}


void Timer0_Isr(void) interrupt 1
{
        static timcount = 0;
        timcount++;                                //1ms+1
        if( timcount>=10 )                //如果这个变量大于等于10,10ms计数到达
        {
                timcount = 0;
                TIM_10MS_Flag = 1;        //10ms时间到了       
        }
}


void sys_init()                //函数定义
{
    WTST = 0;//设置程序指令延时参数,赋值为0可将CPU执行指令的速度设置为最快
    EAXFR = 1; //扩展寄存器(XFR)访问使能
    CKCON = 0; //提高访问XRAM速度

        P0M1 = 0x00;   P0M0 = 0x00;   //设置为准双向口
    P1M1 = 0x00;   P1M0 = 0x00;   //设置为准双向口
    P2M1 = 0x00;   P2M0 = 0x00;   //设置为准双向口
    P3M1 = 0x00;   P3M0 = 0x00;   //设置为准双向口
    P4M1 = 0x00;   P4M0 = 0x00;   //设置为准双向口
    P5M1 = 0x00;   P5M0 = 0x00;   //设置为准双向口
    P6M1 = 0x00;   P6M0 = 0x00;   //设置为准双向口
    P7M1 = 0x00;   P7M0 = 0x00;   //设置为准双向口
       
    P3M0 = 0x00;
    P3M1 = 0x00;

    P3M0 &= ~0x03;
    P3M1 |= 0x03;

        USBCON = 0X00;                                        //usb初始化
        USBCLK = 0X00;
        IRC48MCR = 0X00;
        delay_ms(10);

    //设置USB使用的时钟源
    IRC48MCR = 0x80;    //使能内部48M高速IRC
    while (!(IRC48MCR & 0x01));//等待时钟稳定

    USBCLK = 0x00;        //使用CDC功能需要使用这两行,HID功能禁用这两行。
    USBCON = 0x90;
}


void delay_ms(u16 ms)        //unsigned int
{
        u16 i;
        do
        {
                i = MAIN_Fosc/6000;
                while(--i);
        }while(--ms);
}



黑市 发表于 2023-8-26 22:27:35

.c文件添加到工程了吗

编程的终点掉发 发表于 2023-8-27 11:18:59

黑市 发表于 2023-8-26 22:27
.c文件添加到工程了吗

找到了

编程的终点掉发 发表于 2023-8-27 17:57:58

编程的终点掉发 发表于 2023-8-27 11:18
找到了

谢谢大佬,我重启了一下,他自己解决了
页: [1]
查看完整版本: 求助大佬