• slider image 442
  • slider image 483
  • slider image 484
  • slider image 485
  • slider image 486
  • slider image 487
  • slider image 488
  • slider image 491
:::

論壇索引


Board index » All Posts (ilovetoc)




Re: 有關於compier中斷問題
#11
新會員
新會員


#include <p18f6620.h>
#include <V160pin_define.h>
#include <usart.h>
#include "main.h"
#include "Include_Prototype.h"

void isr_high(void);

//************************************************
//*       #pragma Interrupt Declarations         *
//*                                                 *
//* Function: isr_high_direct                    *
//*   - Direct execution to the actual           *
//*     high-priority interrupt code.            *
//************************************************
#pragma code isrhighcode = 0x0008

void isr_high_direct(void)    
{                                  
     
_asm                     //begin in-line assembly
     
goto isr_high                //go to isr_high function
     
_endasm                     //end in-line assembly
}
#pragma code

//************************************************
//* Function: isr_high(void)                     *     
//*   High priority interrupt will               *
//*   - Received a serial data from RS-232       *
//*     Save the received data to buffer Rec_Data*                  
//************************************************
#pragma interrupt isr_high 

void isr_high(void)
{
    
int i,j;
    
int nHour;
    
char cTmp =  0x00;
    
int UART_Index;
  
      
cTmp Read2USART();
      if (
cTmp == '$'
          
UART_Index 0;

      
g_caGprmcData[UART_Index] = cTmp;
      
UART_Index UART_Index 1;

      if ((
g_caGprmcData[0] == '$') &&(g_caGprmcData[1] == 'G')
          && (
g_caGprmcData[2] == 'P') && (g_caGprmcData[3] == 'R')
          && (
g_caGprmcData[4] == 'M') && (g_caGprmcData[5] == 'C')
          && (
g_caGprmcData[UART_Index 1] == 0x0A)
          && (
g_caGprmcData[UART_Index 2] == 0x0D))
      {
         
GpsConveter(g_caGprmcData);
 
        if(
GpsCheckFunction1(66g_caGprmcData))
        {
            
g_bHasValidGpsData TRUE//資料格式無誤
        
}
        else
        {
            for (
066i++)
                return; 
//資料有問題, 則離開.
        
}

        for (
080j++)
        {
            
g_caGPS_Data[j] = g_caGprmcData[j];
        }

        if (
g_caGprmcData[14] == 'V') {
            
g_bGPSValid FALSE;
            
GpsErrLed 1;           
        }
        else if (
g_caGprmcData[14] == 'A')
          {
            
g_bGPSValid TRUE;
            
g_caFlagGPSRecINT TRUE;
            
GpsErrLed 0;

//修改校正時間
        
nHour = (g_caGprmcData[7] - 0x30) * 10 + (g_caGprmcData[8] - 0x30) + 8;
        
nHour nHour 24;                
        
g_caSystemTime[0] = nHour/10 0x30;
        
g_caSystemTime[1] = nHour%10 0x30;
         
g_caSystemTime[2] = g_caGprmcData[9];
        
g_caSystemTime[3] = g_caGprmcData[10];
        
g_caSystemTime[4] = g_caGprmcData[11];
        
g_caSystemTime[5] = g_caGprmcData[12];

        
g_caSystemDate[0] = g_caGprmcData[57];
        
g_caSystemDate[1] = g_caGprmcData[58];
        
g_caSystemDate[2] = g_caGprmcData[55];
        
g_caSystemDate[3] = g_caGprmcData[56];
        
g_caSystemDate[4] = g_caGprmcData[53];
        
g_caSystemDate[5] = g_caGprmcData[54];
                
        for(
i=i<i++)
        {
                    
        }
        for(
i=i<i++)
        {
                    
        }
         }

         if (
g_bGPSValid == FALSE)
            
g_caGPS_Data[14] = 'V';

         
UART_Index 0;
      } 
// end if gprmc
    //} // end if kbhit();
        
if (UART_Index 120
              
UART_Index 0;
}                                
#pragma code

發表於: 2007/2/15 10:16
頂部


有關於compier中斷問題
#12
新會員
新會員


請問一下,如果要使用USART傳輸,要使用中斷,結果當我設了相關的函式的時候,compiler會出現下列訊息

MPLINK 3.40, Linker
Copyright (c) 2003 Microchip Technology Inc.
Error - section '.udata_1interrupt.o' can not fit the section. Section '.udata_1interrupt.o' length=0x000002a6
Errors : 1


那我是應該要改哪裡的DATABANk?還是要修改哪裡才能把此問題修正

6620

MPLAB
感謝

發表於: 2007/2/15 9:45
頂部


Re: 請問一下有關於Software UART
#13
新會員
新會員


如果只改上面腳位的話..compiler會有以下錯誤
MPLINK 3.40, Linker
Copyright (c) 2003 Microchip Technology Inc.
Error - could not find definition of symbol 'DelayRXHalfBitUART' in file 'OPENUART.O'.
Errors : 1



我後來去別的地方看,他是說還要定義下列function,我把下列function寫在sw_uart.h裡面
DelayTXBitUART Delay for:
((((2*FOSC) / (4*baud)) + 1) / 2) - 12 cycles
DelayRXHalfBitUART Delay for:
((((2*FOSC) / (8*baud)) + 1) / 2) - 9 cycles
DelayRXBitUART Delay for:
((((2*FOSC) / (4*baud)) + 1) / 2) - 14 cycles

定義之後compiler就會過,可是還是沒法輸出資料於終端機,請問一下這是什麼問題,要顯示資料在終端機可以用WriteUART這個指令嗎

發表於: 2007/2/14 12:09
頂部


Re: 請問一下有關於Software UART
#14
新會員
新會員


是不是還要加什麼delay的?

發表於: 2007/2/14 10:41
頂部


請問一下有關於Software UART
#15
新會員
新會員


請問一下,如果要使用軟體之UART,若一開始腳位就不一樣
(PortG.1,PortG.2),是否要更改到c18的openuart.asm
那中間需要注意什麼事情,再請各位高手教導一下,謝謝


MPLAB
6620

感謝

發表於: 2007/2/13 9:36
頂部


Re: 請問有關於compiler的問題
#16
新會員
新會員


就是目前所使用的function都把他拆成一個檔案,要使用的時候
再include "xxxx.h"進來,這樣在被include 的檔案裡面還要加prototype嗎?還是在哪裡要加

發表於: 2007/2/9 10:39
頂部


Re: 請問有關於compiler的問題
#17
新會員
新會員


D:\jeff\TEST_PRO\InitV160PIC.c:13: void PowerOn(void) {
D:\jeff\TEST_PRO\InitV160PIC.c:186: PowerOn();
Search complete. 2 matches found.


利用您的方式找到就這兩個function
我想是不是應該還有其他問題?
看來是沒有重新定義

發表於: 2007/2/8 12:01
頂部


請問有關於compiler的問題
#18
新會員
新會員


請教各位,就是當程式在compiler的時候,會出現下列訊息

MPLINK 3.40, Linker
Copyright (c) 2003 Microchip Technology Inc.
Error - symbol 'PowerOn' has multiple definitions.
Errors : 1

PowerOn是我設的一個function,可是我只有定義一次
就出現上述訊息,可否請教各位高手,為我解答,感激不盡,謝謝
MPLAB 7.31版
compiler mc18
PIC18f6620

發表於: 2007/2/8 11:29
頂部



« 1 (2)



:::

Microchip連結

https://www.facebook.com/microchiptechnologytaiwan/
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=13
https://mu.microchip.com/page/tmu
http://elearning.microchip.com.tw/modules/tad_link/index.php?cate_sn=1
https://page.microchip.com/APAC-PrefCenters-TW.html
http://www.microchip.com/
http://www.microchip.com/treelink
http://www.microchipdirect.com/
http://www.microchip.com.cn/newcommunity/index.php?m=Video&a=index&id=103
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=2
http://www.microchip.com.tw/Data_CD/eLearning/index.html
http://www.microchip.com.tw/RTC/RTC_DVD/
https://www.microchip.com/development-tools/
https://www.youtube.com/user/MicrochipTechnology
[ more... ]

教育訓練中心

!開發工具購買
辦法說明 [業界客戶] [教育單位]
----------------------------------
!校園樣品申請
辦法說明 [教師資格] [學生資格]
----------------------------------