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




Re: 關於利用PIC產生波形
#11
中級會員
中級會員


請問一下
不知道是否有PWM的相關範例可以參考?

發表於: 2009/4/10 10:43
頂部


關於利用PIC產生波形
#12
中級會員
中級會員


請問一下各位高手....
我想利用PIC來產生一各連續的波形
但這個連續波形每各low high的時間寬度都不一樣
最小時間寬度為0.2ms 最大2.5ms

目前想說用 DO 加上 Timer 中斷觸發來做
不曉得這樣做行不行的通?有什地方需要注意的?
或有沒有大大有其他建議的?或比較好的方法?
懇請賜教.....

先說聲謝謝了^^

發表於: 2009/4/9 17:55
頂部


一個中斷的問題
#13
中級會員
中級會員


請問一下假設我把int0設為上升沿觸發中斷...(INTEDG0=1)
就是原本low變high就產生中斷觸發
然後發生中斷後...開始去做我要做的第一件事.....

因為剛剛已經low變high產生中斷...
int0 pin 就維持在high準位...(此時清除中斷其標)

同時我可以在把INT0設為INTEDG0=0 改成下降沿觸發中斷
也就是當high又變low時...在發生中斷去做第二件事?

可以這樣去利用一個INT0...產生兩種中斷觸發嗎?

發表於: 2009/3/11 18:26
頂部


Re: USB 的問題
#14
中級會員
中級會員


好慘...沒人回.....~_~....自推一下...

發表於: 2009/2/12 11:00
頂部


USB 的問題
#15
中級會員
中級會員


請問一下各位前輩.....
我下載了官方提共的usb vb demo
裡面有一個函數...是find usb device 如下

MPUSBGetDeviceCount(MPUSB_PID_VID)

想問一下,函數裡面這個MPUSB_PID_VID數的作用?

因為我發現我沒給PID和VID一樣可以搜尋到USB

有設跟沒設結果是一樣的?

所以覺得很奇怪 = =a

既然結果一樣,為何還要有這數?

另外在請問一下,有mpusbapi.dll 裡面函數的說明文件嗎?

用了裡面function 可是都不知道每各數的意義 = =

發表於: 2009/2/10 17:01
頂部


PIC18f2221關於 DIO 輸出輸入問題
#16
中級會員
中級會員


請問一下
我將RA4設為輸出,當產生中斷後
RA4 輸出"恆"為1
可是現在有個問題...
我用LATAbits.LATA4=1 讓它輸出為1
可是當跑完這行程式後 它輸出狀態又跑回去0
並不會恆為 1 ,RA4照理說應該會鎖住在1才對吧?
有時我用debug模式讓他run還會跑出數錯誤的訊息
我是在main裡把他寫在while迴圈中
是否有高手前輩可以指點一下問題出在哪?

以下是source code
#include <p18f2221.h>
#include <usart.h>
#include <delays.h>
#include <timers.h>

char RX_Temp;
unsigned char aaaa=0;
void isr_high(void);
void isr_low(void);

//==================================
#pragma code lo_vector=0x18
void isr_low_code(void)
{
_asm GOTO isr_low _endasm
}
#pragma code

#pragma interrupt isr_low
void isr_low(void)
{
PIR1bits.RCIF=0;
RX_Temp = ReadUSART();
}
//==================================
#pragma code hi_vector=0x08
void isr_high_code(void)
{
_asm GOTO isr_high _endasm
}
#pragma code

#pragma interrupt isr_high
void isr_high(void)
{
if(INTCONbits.INT0IF==1)
{
INTCONbits.INT0IF = 0;
aaaa=1;
LATAbits.LATA4 = 1;
}

if(INTCON3bits.INT1IF==1)
{
INTCON3bits.INT1IF = 0;
}
}

void main()
{
OSCCON = 0x62;
OSCTUNE = 0x80;
OpenUSART(USART_TX_INT_OFF &
USART_RX_INT_ON &
USART_ASYNCH_MODE &
USART_EIGHT_BIT &
USART_CONT_RX &
USART_BRGH_HIGH,
25);

PIR1bits.RCIF=1;
PIE1bits.RCIE=1;
IPR1bits.RCIP=0;
RCONbits.IPEN=1;

INTCONbits.GIE=1;
INTCONbits.PEIE=1;
INTCONbits.TMR0IE=0;
INTCONbits.INT0IE=1;
INTCONbits.RBIE=0;

INTCON2bits.RBPU=1;
INTCON2bits.INTEDG0=1;
INTCON2bits.INTEDG1=1;
INTCON2bits.TMR0IP=0;
INTCON2bits.RBIP=0;

INTCON3bits.INT1IE=1;
INTCON3bits.INT2IE=0;
INTCON3bits.INT1IP=1;
INTCON3bits.INT2IP=0;

ADCON0bits.CHS0=0;
ADCON0bits.CHS1=0;
ADCON0bits.CHS2=0;
ADCON0bits.CHS3=0;
ADCON0bits.ADON=0;
ADCON1 = 0x0f;
CMCON = 0x07;

TRISAbits.TRISA0 = 1; //RA0 Input (DI0)

TRISAbits.TRISA3 = 0; //RA3 Output (CS)
TRISAbits.TRISA4 = 0; //RA4 Output (DO0)

LATAbits.LATA3 = 0;
LATAbits.LATA4 = 0;

TRISBbits.TRISB4 = 0;
LATBbits.LATB4 = 1;

while(1)
{
if(aaaa==1)
{
LATAbits.LATA4 = 1;
}
}
}

發表於: 2008/12/23 10:44
頂部


AD轉換問題?
#17
中級會員
中級會員


void init_AD(void)
{
CMCON = 0x07;
ADCON0bits.CHS3 = 0;
ADCON0bits.CHS2 = 0;
ADCON0bits.CHS1 = 0;
ADCON0bits.CHS0 = 0;
ADCON0bits.GO_DONE = 0;
ADCON0bits.ADON = 1;
ADCON1 = 0x0E;
ADCON2bits.ADFM = 0;
ADCON2bits.ACQT2 = 0;
ADCON2bits.ACQT1 = 0;
ADCON2bits.ACQT0 = 0;
ADCON2bits.ADCS2 = 1;
ADCON2bits.ADCS1 = 1;
ADCON2bits.ADCS0 = 1;
}

void main (void)
{
init_AD();

while(1)
{
Delay10TCYx(5);
ConvertADC();
while(BusyADC());
}
}

以上是我寫的一個測試AD轉換的程式....
硬體部分用的是PIC18F6490,用的是內部RC震盪器
線路接法是直接給24Pin(AN0) 一個3V的電壓 有用分壓電路
所以實際進去的電壓 只有3V的一半

然後我使用debug模式
開啟watch視窗檢查ADRESH和ADRESL兩各暫存器
發現我電壓給3V 此時AD取得的電壓為7F 02
因為分壓 所以1/2 得到7F 02這是OK的
不過問題來了....
我把VCC電壓改成2.8V後 的到的值也是7F 02
變成我的考電壓跟實際要測的電壓是一起在動的
有辦法把考電壓固定為3V嘛
這樣才有辦法去比較剩餘的電

只有用一個電源 VDD和VSS 以及 AN0 AD 轉換的電壓都是一樣的

請各位大大指點一下

發表於: 2008/12/9 14:31

Edited by badsan on 2008年12月09日 18:16:04
頂部


Re: 程式太大?
#18
中級會員
中級會員


參照:

Ryang 寫道:
剛想到一個編譯器差異的問題,因為我用的是C18的正式版,他有最佳化的功能。我將最佳化 disable 後同樣也會出現問題。所以我會建議要不要換成 PIC18F85J90 的元件? 即使永正式版的 C18 要加函數的話也會遇到相同的問題。

http://www.microchip.com/stellent/idc ... e=SS_GET_PAGE&nodeId=2092m=en022838


感謝R大....我剛剛有試著把 Library 的p18F6490.lib 從 Project 裡拿掉.......
不過還是發生一樣的錯誤.....
所以現在是說因為我的C18不是正式版的?沒有最佳化功能..
所以才會發生這問題嗎?

現在解決的方法是更換PIC型號為85j90嘛?
如果換成85j90就可以解決這各問題嗎?

但這樣就要更改我們硬體電路...牽涉的層面會很大...
不知道有沒有辦法可以不換型號...從軟體上去解決?

如果改成用最新的C18正式版本...是否可以解決這問題?

發表於: 2008/11/27 13:30
頂部


Re: 程式太大?
#19
中級會員
中級會員


不知道R大是否可以留下信箱..我在私下寄給你跟你討論..
因為不方便把souce code公開.....

不然就又要上台北跑一趟貴公司了~_~

萬分感激不盡.....

發表於: 2008/11/25 14:38
頂部


程式太大?
#20
中級會員
中級會員


請問一下各位高手...小弟在build時都會出現以下錯誤.....
看來好像是程式寫太長了....只要把其中某一段給拿掉就沒問題
可是如果那行沒拿掉就會出現以下的問題....

有爬文看了以前一些文章....
好像解決方法是去改lkr的記憶體位址?
後來翻了之前到台北上課的w401講義....裡面有稍微提到....
不過還是看不太懂...不知道是否有高手前輩可以詳細指點一下...該怎下手修改?萬分感激不盡........

Executing: "C:\MCC18\bin\mplink.exe" /l"C:\MCC18\lib" /k"C:\MCC18\lkr" "..\..\..\..\..\MCC18\lkr\18f6490i.lkr" "..\..\..\..\..\DL-100_v1.3\24lc128.o" "..\..\..\..\..\DL-100_v1.3\LCD_6490.o" "..\..\..\..\..\DL-100_v1.3\SHT.o" "C:\MCC18\lib\p18f6490.lib" /z__MPLAB_BUILD=1 /z__MPLAB_DEBUG=1 /z__MPLAB_DEBUGGER_ICD2=1 /z__ICD2RAM=1 /o"Demo_6490.cof" /M"Demo_6490.map" /W
MPLINK 4.11, Linker
Copyright (c) 2007 Microchip Technology Inc.
Error - section '.code_fxd1616u.o' can not fit the section. Section '.code_fxd1616u.o' length=0x0000002c
Errors : 1

另外請問是否可以留貴公司FAE的信箱和電話給我...

發表於: 2008/11/25 14:14
頂部



« 1 (2) 3 4 5 6 »



:::

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

教育訓練中心

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