werjufour

  • 2018-09-25
  • 回复了主题帖: 中断服务函数放到一个单独的C文件里面,中断中全局变量数组该怎么定义?

    大神们,帮我瞧瞧,程序在附件里

  • 回复了主题帖: 中断服务函数放到一个单独的C文件里面,中断中全局变量数组该怎么定义?

    ienglgge 发表于 2018-9-25 13:42 extern unsigned int ADCValue[6][32];  去掉extern,编译通过的话,就是没有定义这个数组。
    请大声帮我好好看看@dcexpert

  • 回复了主题帖: 中断服务函数放到一个单独的C文件里面,中断中全局变量数组该怎么定义?

    lcofjp 发表于 2018-9-23 16:11 你需要在某个C文件中定义如下数组: unsigned int ADCValue[6][32]; 然后才可以在别的文件中引用
    在ADC1.C文件里面也定义了这个数组。主程序中还没有使用这个数组编译都通不过

  • 回复了主题帖: 中断服务函数放到一个单独的C文件里面,中断中全局变量数组该怎么定义?

    ienglgge 发表于 2018-9-25 13:42 extern unsigned int ADCValue[6][32];  去掉extern,编译通过的话,就是没有定义这个数组。
    去掉extern也不行

  • 2018-09-23
  • 发表了主题帖: 中断服务函数放到一个单独的C文件里面,中断中全局变量数组该怎么定义?

    中断服务函数放到一个单独的C文件里面,中断中全局变量数组该怎么定义才能使用? 在主程序和中断中都要用到这个数组。 我定义后编译通不过,发生这样的错误:ADC1.o(.text+0xae): In function `_ADC1Interrupt': C:\Users\Administrator\Desktop\AD\ADC1.c:61: undefined reference to `ADCValue' 不知道原因在哪里? 头文件如下: #ifndef ADC1_H #define ADC1_H #define AINPUTS 0xffex //Analog inputs 将复用引脚AN5设置为模拟输入引脚。 //#define AINPUTS 0xC0FF                 //Analog inputs 将复用引脚AN8~AN13这6个端口设置为模拟输入引脚。 /***声明全局变量****/ extern unsigned int ADCValue[6][32]; #endif 中断C源文件如下:(其他函数设置省略,直接给出中断服务函数) #include<p24fxxxx.h> #include "ADC1.h" void __attribute__((interrupt,no_auto_psv)) _ADC1Interrupt(void) {         int n,*BufPtr;         char gNum;         if(AD1CON2bits.BUFS)                 BufPtr=&ADC1BUF0;                        //指针指向ADC1BUF0单元,取低8字缓冲器中的数据         else         BufPtr=&ADC1BUF8;                                //指针指向ADC1BUF8单元,取高8字缓冲器中的数据         for(n=0;n<6;n++)         {                 ADCValue[n][gNum]=*BufPtr;        //传送采集的6个通道的数据                 BufPtr++;         }         gNum++;         if(gNum>=32)gNum=0;         IFS0bits.AD1IF=0;              //清中断标 }

  • 2018-09-06
  • 回复了主题帖: 又遇到问题了,关于PIC24FJ64GA004时钟震荡的问题

    恩恩

  • 回复了主题帖: 又遇到问题了,关于PIC24FJ64GA004时钟震荡的问题

    dcexpert 发表于 2018-9-6 21:26 你的编译器版本太低了吧。 好像是 #include
    编译器太低了么。我用的是C30

  • 回复了主题帖: 又遇到问题了,关于PIC24FJ64GA004时钟震荡的问题

    dcexpert 发表于 2018-9-5 22:16 当然,只要设置好时钟。
    #include<p24fxxxx.h> #include"libpic30.h" #define LED PORTBbits.RB0 #define LEDTRIS TRISBbits.TRISB0 #define ON 0 #define OFF 1 unsigned int Num=0; //void delay1s(void); void main(void) {         TMR1=0;//         PR1=15625-1;                 IFS0bits.T1IF=0;         IEC0bits.T1IE=1;         IPC0bits.T1IP=4;         SR=0;         __delay_ms(5);         T1CON=0x8030;         while(1)         {                 }         出现错误:main.o(.text+0x24): In function `main': C:\Users\Administrator\Desktop\AD\main.c:32: undefined reference to `__delay_ms' Link step failed. ---------------------------------------------------------------------- ---------------------------------------------------------------------- BUILD FAILED                        

  • 回复了主题帖: 又遇到问题了,关于PIC24FJ64GA004时钟震荡的问题

    dcexpert 发表于 2018-9-5 22:16 当然,只要设置好时钟。
    谢谢

  • 回复了主题帖: 又遇到问题了,关于PIC24FJ64GA004时钟震荡的问题

    csg12 发表于 2018-9-6 00:15
    朋友,笑啥?

  • 2018-09-05
  • 回复了主题帖: 又遇到问题了,关于PIC24FJ64GA004时钟震荡的问题

    dcexpert 发表于 2018-9-3 21:57 参数就是延时时间啊,__delay_ms(50)就50ms。当然因为是使用代码延时而不是通过定时器,所以精度不是非常 ...
    我使用的晶振分别是8M、16M、32M 时候。这个延时函数__delay_ms(50),延时的时间都是50ms么?

  • 回复了主题帖: 又遇到问题了,关于PIC24FJ64GA004时钟震荡的问题

    dcexpert 发表于 2018-9-3 21:57 参数就是延时时间啊,__delay_ms(50)就50ms。当然因为是使用代码延时而不是通过定时器,所以精度不是非常 ...
    我使用的晶振分别是8M、16M、32M 时候。这个延时函数__delay_ms(50),延时的时间都是50ms么?

  • 2018-09-03
  • 回复了主题帖: 又遇到问题了,关于PIC24FJ64GA004时钟震荡的问题

    dcexpert 发表于 2018-9-3 12:26 时钟当然要设置为实际频率,这样才能准确计算时间。
    大侠,这两个延时函数__delay_ms() 或者 __delay_us(要怎么用呢? 我要延时50ms 与10us该怎么写呢

  • 回复了主题帖: 又遇到问题了,关于PIC24FJ64GA004时钟震荡的问题

    迈尔风随 发表于 2018-9-3 00:25 我网上找了一下,没有电子档可以看,这是一本也版的书,只能买书来看才行
    层主不是作者么?

  • 2018-09-02
  • 回复了主题帖: 又遇到问题了,关于PIC24FJ64GA004时钟震荡的问题

    迈尔风随 发表于 2018-9-2 16:53 还是看不明白,我去找《AVR单片机应用专题精讲》看一下
    如果找到了,发给我看下。我实在是看不太懂

  • 回复了主题帖: 又遇到问题了,关于PIC24FJ64GA004时钟震荡的问题

    dcexpert 发表于 2018-9-2 15:07 哪里不同了? 如果只是延时,先在程序中定义_XTAL_FREQ,它代表系统时钟频率 #ifndef _XTAL_FREQ ...
    首先要谢谢你。就是我在MPLAB SIM软件仿真里跑表显示的是300MS左右,但是在Proteus仿真里面却要延时3s左右。 自带的延时函数延时__delay_ms() 这个函数我不知道延时了多长时间。比如说要延时50ms 我系统时钟频率和实际参数填多少?

  • 2018-09-01
  • 回复了主题帖: 又遇到问题了,关于PIC24FJ64GA004时钟震荡的问题

    werjufour 发表于 2018-9-1 20:41 你这种宏定义第一次看见,所以看了都蒙圈了,一点都不知道啥意思。 我刚才哪个程序用c30怎么有解决的办 ...
    为什么我实际的效果跟我软件上面的延时不一样呢?

  • 回复了主题帖: 又遇到问题了,关于PIC24FJ64GA004时钟震荡的问题

    dcexpert 发表于 2018-9-1 20:37 这个是宏的一种特殊用法,就是将两个内容合成一个,在使用一系列有规律的寄存器时非常有用,在很多程序里 ...
    你这种宏定义第一次看见,所以看了都蒙圈了,一点都不知道啥意思。 我刚才哪个程序用c30怎么有解决的办法么

  • 回复了主题帖: 又遇到问题了,关于PIC24FJ64GA004时钟震荡的问题

    还有你这个定义我有点看不太懂哦 #define MACRO_CONCAT2_EXPAND(a, b)  a ## b #define MACRO_CONCAT2(a, b)         MACRO_CONCAT2_EXPAND(a, b) #define MACRO_CONCAT3_EXPAND(a, b, c) a ## b ## c #define MACRO_CONCAT3(a, b, c)      MACRO_CONCAT3_EXPAND(a, b, c) #define MACRO_ARG21(a, b)           a #define MACRO_ARG22(a, b)           b #define PIN_DIR(pin, DIR)            MACRO_CONCAT3(_TRIS, MACRO_ARG21(pin), MACRO_ARG22(pin)) = DIR #define PIN_OUT(pin, OUT)            MACRO_CONCAT3(_LAT, MACRO_ARG21(pin), MACRO_ARG22(pin)) = OUT #define PIN_IN(pin)                  MACRO_CONCAT3(_R, MACRO_ARG21(pin), MACRO_ARG22(pin))

  • 回复了主题帖: 又遇到问题了,关于PIC24FJ64GA004时钟震荡的问题

    dcexpert 发表于 2018-9-1 20:01 现在的XC16中不是有延时函数了吗?只要设置好时钟就可以用
    我用的是c30编译器。我这里是什么出现问题了

最近访客

< 1/1 >

统计信息

已有19人来访过

  • 芯币:289
  • 好友:5
  • 主题:18
  • 回复:117
  • 课时:--
  • 资源:1

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言