• 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 (vast)




Re: C18如何開一個大buffer
#11
初級會員
初級會員


關於這樣使用,請問會不會有突然資料錯亂的問題??
我也是懶人一個,想這樣子用,可是又怕怕的~
而且最後
STACK SIZE=0x030 RAM=gram
這樣子用,會不會出問題啊@@
感覺怪怪的.....??

發表於: 2005/11/10 14:36
頂部


Re: 請問關於Build Options裡Default storage class設定?
#12
初級會員
初級會員


補充,用了timer0去試也是一樣的結果,好像是全部的timer都不能在中斷裡面正常計數.....

發表於: 2005/11/1 20:00
頂部


請問關於Build Options裡Default storage class設定?
#13
初級會員
初級會員


再問一次,想說是不是我問的不夠清楚@@
使用PIC18F6520
請問,MPLAB 裡的Build Options中MPLAB C18->Default storage class選項是做什麼用的?下面程式如果選Auto就正常,在testcan腳位可以量出一個週期200us的方波可是選Static在中斷之後time3就不能在中斷裡面正常計數?可是又還是會有中斷的產生,這是為什麼?

#define testcan PORTGbits.RG0
void High_INT_VEC (void);
void High_INT_SER (void);
void delay(int s)//設延遲時間為0.1ms
{
int k=0;
for(k;k<s;k++)
{
while(1)if (PIR2bits.TMR3IF==1)break;
PIR2bits.TMR3IF=0;
TMR3H = (65536-737)/256;
TMR3L = (65536-737)%256;
}
}
//----------------------------------------------------------------
#pragma code High_Interrupt_Vector=0x08
void High_INT_VEC (void)
{
_asm
gotoHigh_INT_SER
_endasm
}
#pragma code
//----------------------------------------------------------------
#pragma interrupt High_INT_SER
void High_INT_SER (void)
{
//-------------------------延遲100us-------------------------------------
TMR3H = (65536-737)/256;
TMR3L = (65536-737)%256;
PIR2bits.TMR3IF=0;



//------------------------測量腳------------------------
while(1)
{
testcan=~testcan
delay(1);
}
//----------------------------------------------------------------
//------------------------結束前重置計數器------------------------

TMR3H = (65536-7373)/256;
TMR3L = (65536-7373)%256;
PIR2bits.TMR3IF=0;
}

void main()
{

ADCON1 = 0x0F;
CMCON=0x07;
TRISFbits.TRISF3=1;
TRISGbits.TRISG0=0;
PIE2bits.TMR3IE = 1;
PIR2bits.TMR3IF=0;
IPR2bits.TMR3IP = 1;
INTCONbits.PEIE = 1;
INTCONbits.GIEH = 1;
//---------------------設定取樣時間(利用計數器)1ms-------------
T3CON = 0xCD;
TMR3H = (65536-7373)/256;
TMR3L = (65536-7373)%256;

//------------------------------------------------------------
while(1)
{
if(savered!=0)
{
while(1)
{
INTCONbits.TMR0IF=0;
}
}
}

}

發表於: 2005/11/1 18:52
頂部


Re: 結構型態&共用型態的問題?
#14
初級會員
初級會員


還是不懂,像我寫了一個
union remote_re
{
unsigned int remote;
struct {
unsigned red_on_off:1;
unsigned red_select:2;
unsigned red_temperate:4;
unsigned red_sleep:1;
unsigned red_revolve:1;
unsigned red_wind:3;
unsigned red_mode:3;
unsigned red_set:1;
};
struct {
unsigned :1;
unsigned red_clock_minute_unit:4;
unsigned red_clock_minute_ten:3;
unsigned :1;
unsigned red_clock_numbered_unit:4;
unsigned red_clock_numbered_ten:2;
unsigned :1;
};
}remote_red;

這不是一樣位元可以共用嗎?

發表於: 2005/10/31 17:26
頂部


請問關於Build Options
#15
初級會員
初級會員


請問Project->Build Options->Default storage class這個選項是在做什麼用的?為什麼我選成Static,後程式time3就變的怪怪的?而另個程式沒用到time3就很正常?
請問那裡有Build Options的完整說明?

發表於: 2005/10/31 17:22
頂部


結構型態&共用型態的問題?
#16
初級會員
初級會員


看WAP002 Workshop看了很久還是看不懂@@
以下兩種宣告方式差別在那?怎麼覺的用起來是一樣的?
------------------------------------------------------------------

near union
{
unsigned char Count;
struct
{
unsigned B0:1;
unsigned B1:1;
unsigned B2:1;
unsigned B3:1;
unsigned B4:1;
unsigned B5:1;
};
}Bz=0;


_____________________________________________
extern volatile near unsigned char PORTB;
extern volatile near union{
struct {
unsigned RB0:1;
unsigned RB1:1;
unsigned RB2:1;
unsigned RB3:1;
unsigned RB4:1;
unsigned RB5:1;
unsigned RB6:1;
unsigned RB7:1;
} ;
struct {
unsigned INT0:1;
unsigned INT1:1;
unsigned INT2:1;
unsigned CCP2:1;
} ;
} PORTBbits ;

發表於: 2005/10/25 17:35
頂部


要如何使用watchdog?
#17
初級會員
初級會員


我是用PIC18F6520
請問要如何使用watchdog?
是在Configuration Bits Enabled Watchdog Timer就可以了嗎?
那如果不要這樣,要在程式裡開啟或關掉,那要怎麼做?
而且要重何重置他的timer?

發表於: 2005/10/25 9:28
頂部


Re: 多個多層.c連結要如何連結?
#18
初級會員
初級會員


問了人,解決了,原來要注意Compiler時所執行的程序,也就是說把變數的順序考慮進去
例如:
在www.c檔裡面 #include "zzz.c"
可是zzz.c運用的到變數寫在www.c裡
又#include "zzz.c"又寫在定義變數前面
則會出現錯誤,解決方法則把變數直接寫在zzz.c裡
或再定一個專門存放參數的.c檔,然後#include在main.c裡
難怪之前看人家寫的程式有個專門放參數用的.c檔~

一點小心得^^

發表於: 2005/10/21 15:59
頂部


多個多層.c連結要如何連結?
#19
初級會員
初級會員


一般來講若兩層的話,在main裡#include "XXX.c"這樣就可以了~
可是
假設有幾個檔main.c、www.c、xxx.c、zzz.c
而main.c是主檔
可是如果zzz.c是另外寫的一個副程式在www.c裡執行,而www.c又在main裡執行,且zzz.c程式需要用到www.c、xxx.c、main.c這三個檔裡的變數,那要如何連結才不會有問題?

發表於: 2005/10/21 9:57
頂部


Re: pic18f6520的timer3怎麼產生中斷?
#20
初級會員
初級會員


找在原因了!少了
INTCONbits.PEIE = 1;
INTCONbits.GIEH = 1;

發表於: 2005/10/20 17:05
頂部



« 1 (2) 3 »



:::

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... ]

教育訓練中心

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