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

論壇索引


Board index » All Posts (deepmotion)




Re: Vdd瞬間低電壓之後
#1
新會員
新會員


感謝版大的意見
剛剛又測出一個現象
再麻煩版大看看
=======
剛測試發現
在main裡邊的某個主要變數
(main.c 裡邊的 Main_Step 這個變數)
此變數已宣告為static
在文中所述的特殊狀況時
會在0及一個極大值中跳來跳去
這樣的結果會造成會清watchdog
但程式卻不會正常執行
不知道版大有沒有遇過這樣的情形
可否提供意見供小弟參考一下..^^

發表於: 2009/8/17 15:26
頂部


Re: Vdd瞬間低電壓之後
#2
新會員
新會員


因為我沒辦法修改我自己的文章
所以我將需要的附件回在這邊
附件內pdf為MCU跟POWER的電路圖
main.c跟interrupt.c為我主文內敘述的兩個.c
麻煩大家幫忙了..^^

Attach file:


Link only for registered users

發表於: 2009/8/17 11:16
頂部


Vdd瞬間低電壓之後
#3
新會員
新會員


版主您好
============
MCU:PIC18F6620
watch dog 為 On
brown out 為 2.7V
程式架構如下
main()
{
while(1)
{
if(true)
{
.........
Yellow_LED 閃爍;
clr_wdt;
}
else
{
.........
}
Red_LED 閃爍
}
}

另外於中斷程式內加入 Green_LED 閃爍
之後
利用power supply 於MCU正常工作時瞬間
給予一低電壓後再拉回正常電位
大部分的情形下, MCU會維持正常工作, 或是
造成watchdog啟動, 進而重啟MCU.
但在某些情形會造成以下情形
Yellow_LED不閃爍
Red_LED閃爍
Green_LED閃爍
但Watch Dog卻沒有啟動讓MCU重開
就燈號判斷 表示程式沒有去清watch dog
但watch dog也沒Time out掉
==================
這個狀況要等到重新上電後
不知道這樣的情形是當時I/O(Yellow_LED)出了問題或是有其他的問題造成這樣的現象?
希望這樣的敘述, 板大能看得懂, 看不懂的話, 我再盡力補充, 麻煩大大了, 感謝

發表於: 2009/8/15 22:34

Edited by deepmotion on 2009年08月15日 22:56:43
Edited by deepmotion on 2009年08月16日 01:47:37
頂部


請問CAN Initial 的問題
#4
新會員
新會員


您好,

最近在用18f4580做CAN 的功能,
可是在Initial的時候碰到一點問題

我嘗試過用了兩套lib
分別是 AN878 和 can18cxx8.c
結果都一樣

問題是當我在切換CAN mode的時候會針對
CANCON去設定
理論上來說(according to datasheet) CANSTAT會跟著改變
可是CANSTAT就是不會變 (cancon會變)

AN878的code更是直接跳過 canstat的檢查
雖然他這樣程式會跑
可是Message卻send不出去
我現在沒辦法知道是我其他的Code有問題
還是是因為Mode沒有真正切換過去的問題

請問這樣的問題要怎樣解決呢?

Thx

發表於: 2008/6/2 16:39
頂部


Re: 關於中斷的問題
#5
新會員
新會員


跟意麵大說的一樣
小弟我真的是土法煉鋼型的
小弟知道降的學習 底子會很不穩
但..被趕鴨子上架了..ORZ
而且小弟的slave device還不是EEPROM
而是其他種類的device
小弟搞懂了I2C的通訊協定之後
就用PICC裡面的範例程式所改過來的
感謝意麵大大的提醒
我會去買書回來好好學習的~~!!!
謝謝大家..^^


發表於: 2007/8/17 14:02
頂部


Re: 關於中斷的問題
#6
新會員
新會員


不好意思
晚點將程式補上
(程式不在身邊..)
感謝大大...^^

發表於: 2007/8/16 14:34
頂部


關於中斷的問題
#7
新會員
新會員


小弟寫了個簡單的中斷程式
主程式內只有
while(1)
然後timer1 25ms中斷一次
但每次程式跑一跑
一開始還正常
之後就會出現 只有time1正常計時並執行中斷程式
主迴圈內的printf就再也沒被執行過了
不知道版上各位高手是否有遇過降的問題
可以指點一下小弟我
感謝大家..^^
p.s. 小弟是使用picc編譯
========================
小弟使用的是18F452
不好意思 以上這個問題已經解決了
是小弟的程式結構不好
調整之後已經解決了
但現在出現另一個問題
就是在char read_ext_eeprom(int address) {}
這段程式內的
data = i2c_read(0); // read byte
這邊常常都會停很久
導致MCU重啟
而我在I2C的設定中
已經設定在read的部份 會自動restart wdt
(#use I2C(master, sda=I2C_SDA, scl=I2C_SCL,RESTART_WDT,FORCE_HW))
不知道為什麼還是會讓MCU重啟
麻煩大家幫我看看了 謝謝
意麵大哥,謝謝你提醒我把code貼上來..^^
p.s 每次都po些笨問題,謝謝大家不吝指教..^^
================================
主程式
void main(void)
{
InitI2C();
InitPIC();
I2C_Init();
InitInterrupts();

write_ext_eeprom(0x00,0x0A);
write_ext_eeprom(0x01,0x0E);
write_ext_eeprom(0x02,0x03);
write_ext_eeprom(0x03,0x00);
write_ext_eeprom(0x05,0x00);
write_ext_eeprom(0x04,0x00);
write_ext_eeprom(0x06,0x00);
write_ext_eeprom(0x07,0x00);

printf("Start\r\n");

while(1)
{
restart_wdt();
if(printf_flag == 1)
{
printf("now data = %x\r\n",j8);
j8 = 0;
printf_flag = 0;
}
}
}

==============================
中斷部份
#int_timer1 //0.025sec
timer1_interrupt()
{
disable_interrupts(GLOBAL);
Timer1Count++;
restart_wdt();
j8 = read_ext_eeprom(0x08);
if (Timer1Count>=40)
{
Timer1Count = 0;
printf_flag = 1;
}
enable_interrupts(GLOBAL);
}

==================================
I2C(write)
void write_ext_eeprom(int address, int data) {
int i =9;
restart_wdt();
i2c_start(); // start bit
i2c_write(0x1C); // control byte
i2c_write(address); // Address low byte
i2c_write(data); // data byte
i2c_stop(); // stop bit
delay_ms(11); // delay to allow write
}

==================================
I2C(read)
char read_ext_eeprom(int address) {
int i =9;
restart_wdt();
i2c_start(); // start bit
i2c_write(0x1C); // control byte
i2c_write(address); // address low byte
i2c_start(); // restart
i2c_write(0x1D); // control byte
data = i2c_read(0); // read byte
i2c_stop(); // stop bit
return(data);
}

發表於: 2007/8/15 16:03
頂部


關於從PICC轉換至C18
#8
新會員
新會員


想請問一個問題
我本來是用PICC來做編譯
但現在想換到C18來做
#use <===像是這個宣告
在PICC可用 在C18上是無法編譯的
那我要如何知道要如何替換
有資料可供參考嗎~?
我的晶片是pic18f6620
以上,麻煩版大們了..^^

發表於: 2007/1/24 14:23
頂部






:::

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

教育訓練中心

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