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


Browsing this Thread:   1 Anonymous Users






Re: 軟體UART
#9
資深會員
資深會員


查看用戶資訊
我在16上面用CCS很久了,CCS跟很多Basic Like的編譯器一樣,對於程式撰寫人員在開發上是很友善的。無所謂專不專業。用CCS一樣可以寫到跟組語一樣很底層。

個人認為只有不專業的人,沒有不專業的編譯器。

發表於: 2008/8/21 21:52
不要問我哪裡來,我只是個流浪天涯的工程師
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 軟體UART
#8
資深會員
資深會員


查看用戶資訊
To bramn:

所以啊,一般來說,CCS 被稱為非專業的compiler,呵呵

發表於: 2005/3/17 16:49
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 軟體UART
#7
新會員
新會員


查看用戶資訊
ㄜ...對不起各位.../_\
是我target board跳線上面的問題./_\...
雖然板子找不出問題...
不過我直接用另一個轉位準的Rs-232接到com1就正常輸出了
不好意思...@@......

mechnu,
我同意你的看法..
但是在單晶片的世界裡..
限制是比較多的...深入了解晶片的特性我認為是必要的..
當然CCS他已經剝離了底層(沒用過不知道是不是真的都不需了解底層)..
這對程式設計者當然是好的^^....(好用ㄇㄟ)..
不過你兩者可以互補的話...相信能掌控的更好..^^


Best regards,
Bramn

發表於: 2005/3/17 15:24
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 軟體UART
#6
資深會員
資深會員


查看用戶資訊
灌水一下 po 一篇以前寫的老文章 ... 突破一百篇啦

CCS 不要求高水平

某人說 >> 个人认为如果你刚刚入门,又不想从汇编下手,用PICC工具也可以让你领会底层的操作控制。如果已经有较高水平,那就可以用CCS。这样你的开发速度可以加快,很多细节的考虑可以忽略。

我說:

對於水平高低,我的看法如下:

個人認為, PICC 較接近匯編,它強迫你,先學會那一堆寄存器的名稱與功能,才能開始寫 C 程式,甚至於強迫你自己做記憶體的配置 (分配 bank)。PICC 要求你领会底层的操作控制,我覺得,這是要求你有較高的水平!

剛開始用 CCS 的人,根本不用知道任何一個寄存器的名稱,不用懂匯編,更不用知道什麼叫做 bank,只要知道接腳名稱與功能,就可以開始寫程式啦,就可以開始玩 RS232,玩 PWM,玩 I2C,不用管細節,直接用 CCS 提供的庫函數與範例就可以搞定啦。我就是這樣的,我覺得我是低水平的人,呵呵。

我認為, C 語言的精神應該是去降低程式員處理底層操作的必要性。

就以延時函數和 RS232 寄存器設定為例,我覺得,在匯編來說是基本功夫,但是,要求 C 語言的初學者去寫一個具有移植性的延時函數或 RS232 寄存器設定那根本就是折磨人嘛。不過,玩過一陣子 CCS 之後,還是得視需要,去瞭解細節,去深入研究相關的寄存器,研究底層的操作控制才能提昇水平啦。我的看法是, CCS 允許你延後深入細節的時間點,RMW操作與中斷處理就是最好的例子。

剛開玩 CCS 時,總覺得 output_high ( PIN_C0 ) 這種 CCS 語法真是好笑,為什麼不直接用 C0 = 1 這種簡單明瞭的語法,玩過兩年之後,才體會到那都是為了安全性以及移植性的考慮,是 CCS 在默默的保護我!


發表於: 2005/3/17 13:32
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 軟體UART
#5
新會員
新會員


查看用戶資訊
不....會吧.....就這樣喔......
CCS那麼好用喔....
真是直觀的寫法./_\....
嗚~~~不放棄C18...繼續Try..../_\
等try出來再寫個類似CCS的function來用....

發表於: 2005/3/17 12:36
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 軟體UART
#4
資深會員
資深會員


查看用戶資訊
插花一下
CCS 一行搞定
#use delay(clock=4000000)
#use rs232(baud=9600, xmit=PIN_B4, stream=SW_UART)
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7) // HW_UART

main()
{
printf(SW_UART, 'hello world'); // 送到軟體 UART 去
printf('hello world, HW_UART'); // 送到硬體 UART 去

不要打我啦

發表於: 2005/3/17 11:59
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 軟體UART
#3
新會員
新會員


查看用戶資訊
呼~~~跑不出來..
可以幫我看一下source嗎.?.
簡化成只用sw_uart來丟TX...定義RB4為TX Pin........
OSC = 4MHz , Baud = 9600....
#include <p18cxxx.h>
#include <sw_uart.h>
void main(void)
{
char data='a';
OpenUART();
while( 1 ){WriteUART(data);}
}
根據spec另外我提供了delay subroutine如下:
#define Nop() {_asm nop _endasm}
int i;
void DelayRXHalfBitUART(void)
{ for(i=0;i<0X5C;i++) Nop();}
void DelayRXBitUART(void)
{ for(i=0;i<0X5A;i++) Nop();}
void DelayTXBitUART(void)
{ for(i=0;i<0X5C;i++) Nop();}
結果他連叫都不叫一聲出來./_\....
麻煩提供點方向就好.....

發表於: 2005/3/17 10:41
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 軟體UART
#2
高級會員
高級會員


查看用戶資訊
當使用SW USART時 , 請注意函數所使用的腳位是否連接正 , 在資料的傳送及收接的時侯 , 軟體是以DELAY的時間來POLLING資料的的收發 , 所以要求使用者依照各自使用的振盪時脈 , 提供函數正的延遲時間 , 所以你需要自行宣告這三個延遲副程式 , 將自己的OSC頻率及USART的鮑率套用所提供的公式 , 可以利用FOR廻圈達到延遲的要求 ,

EX , OSC = 4MHz , Baud = 9600
((((2*4M)/(4*9600))+1)/2)-12
= (((8000000/38400)+1)/2)-12 = 92.66... cycle ,

換言之 , 寫出一個延遲92或93個指令週期的廻圈給USART TX的函數用

發表於: 2005/3/16 13:48
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


軟體UART
#1
新會員
新會員


查看用戶資訊
請問有人有使用過C18裡面所提供的軟體UART嗎.?.SW_UART
使用I/O pin來做RS-232傳輸.而不使用TxRx...
試了一天.......試不太出來/_\
Spec裡面有提到該提供的Delay
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
這邊看不大懂.
有人可以指點迷津嗎.?....

發表於: 2005/3/16 12:02
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部







You can view topic.
不可以 發起新主題
You cannot reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You cannot attach files to posts.
You cannot post without approval.
You cannot use topic type.
You cannot use HTML syntax.
You cannot use signature.
You cannot create PDF files.
You cannot get print page.

[進階搜尋]


:::

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

教育訓練中心

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