老地方冰果室交流區

歡迎冰果室讀者在此交流
現在的時間是 06/26/2019 7:48 am

所有顯示的時間為 UTC + 8 小時




發表新文章 回覆主題  [ 29 篇文章 ]  前往頁數 12  下一頁
發表人 內容
 文章主題 : RS232 for USB/notes
文章發表於 : 09/16/2005 11:14 am 
離線
新生訓練中

註冊時間: 09/15/2005 4:55 pm
文章: 6
大家好,我是剛從 windows 一族投奔 MAC 的新人使用者
因為工作上的需要,我需要隨時準備有 RS232 來使用 ( Network device console )
之前在 XP 的環境上,很容易可以買到 USB<-->RS232 的轉接頭
可是在 MAC OS 的環境中似乎很難找到 , 可以請問有人知道可以上那邊買到嗎?
第二個問題,ibm notes 有沒有 for MACOS 的版本阿


回頂端
 個人資料  
 
 文章主題 : Re: RS232 for USB/notes
文章發表於 : 09/16/2005 11:23 am 
離線
基本會員
頭像

註冊時間: 08/26/2005 4:47 pm
文章: 49
來自: HsinChu, Taiwan
bluebaby 寫:
大家好,我是剛從 windows 一族投奔 MAC 的新人使用者
因為工作上的需要,我需要隨時準備有 RS232 來使用 ( Network device console )
之前在 XP 的環境上,很容易可以買到 USB<-->RS232 的轉接頭
可是在 MAC OS 的環境中似乎很難找到 , 可以請問有人知道可以上那邊買到嗎?
第二個問題,ibm notes 有沒有 for MACOS 的版本阿


引述之前魔戒大大回覆Barocde問題的內容:
1. RS232:可能已經不多見了。買一條 USB-RS232 轉接線,然後開 Serial Port 就可以抓到。光華一條 300 元的 Prolific 晶片轉接線就有支援 Mac,不過 Driver 要上網抓。

_________________
yes, he is.


回頂端
 個人資料  
 
 文章主題 : Re: RS232 for USB/notes
文章發表於 : 09/16/2005 1:55 pm 
離線
常吃冰
頭像

註冊時間: 02/06/2005 2:05 pm
文章: 473
來自: Taiwan
bluebaby 寫:
大家好,我是剛從 windows 一族投奔 MAC 的新人使用者
因為工作上的需要,我需要隨時準備有 RS232 來使用 ( Network device console )
之前在 XP 的環境上,很容易可以買到 USB<-->RS232 的轉接頭
可是在 MAC OS 的環境中似乎很難找到 , 可以請問有人知道可以上那邊買到嗎?
第二個問題,ibm notes 有沒有 for MACOS 的版本阿

第二個問題
IBM Notes Client 嗎?有,目前在10.4.2下使用無誤
只是中文要花點功夫才能正確顯示

_________________
一字曰心


回頂端
 個人資料  
 
 文章主題 : Re: RS232 for USB/notes
文章發表於 : 09/16/2005 5:12 pm 
離線
基本會員
頭像

註冊時間: 03/27/2005 10:00 am
文章: 39
mokap 寫:
bluebaby 寫:
大家好,我是剛從 windows 一族投奔 MAC 的新人使用者
因為工作上的需要,我需要隨時準備有 RS232 來使用 ( Network device console )
之前在 XP 的環境上,很容易可以買到 USB<-->RS232 的轉接頭
可是在 MAC OS 的環境中似乎很難找到 , 可以請問有人知道可以上那邊買到嗎?
第二個問題,ibm notes 有沒有 for MACOS 的版本阿

第二個問題
IBM Notes Client 嗎?有,目前在10.4.2下使用無誤
只是中文要花點功夫才能正確顯示


喔??不知道方不方便給點指示??
小弟以前也遇過這個問題
雖然現在不需要用到Notes,不過還是蠻想知道解法的
是Big-5跟Unicode的問題嗎??


回頂端
 個人資料  
 
 文章主題 : Re: RS232 for USB/notes
文章發表於 : 09/16/2005 9:33 pm 
離線
討論區管理員
頭像

註冊時間: 05/02/2001 1:01 am
文章: 1297
jamesjan 寫:
mokap 寫:
bluebaby 寫:
大家好,我是剛從 windows 一族投奔 MAC 的新人使用者
因為工作上的需要,我需要隨時準備有 RS232 來使用 ( Network device console )
之前在 XP 的環境上,很容易可以買到 USB<-->RS232 的轉接頭
可是在 MAC OS 的環境中似乎很難找到 , 可以請問有人知道可以上那邊買到嗎?
第二個問題,ibm notes 有沒有 for MACOS 的版本阿

第二個問題
IBM Notes Client 嗎?有,目前在10.4.2下使用無誤
只是中文要花點功夫才能正確顯示


喔??不知道方不方便給點指示??
小弟以前也遇過這個問題
雖然現在不需要用到Notes,不過還是蠻想知道解法的
是Big-5跟Unicode的問題嗎??


請參考友站 OIKOS 之前的討論。
http://ubb.frostyplace.com.tw/viewtopic.php?t=14490

_________________
[digdog dig];


回頂端
 個人資料  
 
 文章主題 : Re: RS232 for USB/notes
文章發表於 : 09/22/2005 2:01 pm 
離線
新生訓練中

註冊時間: 09/15/2005 4:55 pm
文章: 6
shen 寫:
bluebaby 寫:
大家好,我是剛從 windows 一族投奔 MAC 的新人使用者
因為工作上的需要,我需要隨時準備有 RS232 來使用 ( Network device console )
之前在 XP 的環境上,很容易可以買到 USB<-->RS232 的轉接頭
可是在 MAC OS 的環境中似乎很難找到 , 可以請問有人知道可以上那邊買到嗎?
第二個問題,ibm notes 有沒有 for MACOS 的版本阿


引述之前魔戒大大回覆Barocde問題的內容:
1. RS232:可能已經不多見了。買一條 USB-RS232 轉接線,然後開 Serial Port 就可以抓到。光華一條 300 元的 Prolific 晶片轉接線就有支援 Mac,不過 Driver 要上網抓。

我應該已經找到了適合的 cable 而且已經成功安裝了
想請問一下, for mac 有沒有比較適合的 console 的軟體 ?
and , serial port 要怎麼打開呢 ? thanks


回頂端
 個人資料  
 
 文章主題 : Re: RS232 for USB/notes
文章發表於 : 09/23/2005 8:23 am 
離線
討論區管理員
頭像

註冊時間: 05/18/2001 1:01 am
文章: 2475
來自: Forgotten Realm
bluebaby 寫:
我應該已經找到了適合的 cable 而且已經成功安裝了
想請問一下, for mac 有沒有比較適合的 console 的軟體 ?
and , serial port 要怎麼打開呢 ? thanks


終端機有老字號的 ZTerm,在下是覺得不大好用啦,所以都自己寫。
開 Serial Port 很簡單,這是在下的標準程式碼:

代碼:
#include <fcntl.h>
#include <termios.h>

static struct termios rsNewTerm;
static struct termios rsOrigTerm;

int serial_open(char *path, speed_t speed) {

   int rs232FD;
   rs232FD = open(path, O_RDWR|O_NOCTTY|O_NONBLOCK);

   if(rs232FD < 0) {
      return -1;
   }
   tcgetattr(rs232FD,&(rsOrigTerm));
   memcpy(&(rsNewTerm), &(rsOrigTerm), sizeof(rsOrigTerm));

   rsNewTerm.c_lflag &= ~(ICANON | ECHO | ECHOE | ISIG);
   rsNewTerm.c_cflag &= ~(CSIZE | PARENB | CSTOPB);
   rsNewTerm.c_cflag |= HUPCL | CLOCAL | CREAD | CRTSCTS | CS8;
   rsNewTerm.c_oflag &= ~(OPOST);
   rsNewTerm.c_iflag &= ~(BRKINT | ICRNL | INPCK | ISTRIP | IXON | IXOFF | IXANY);
   rsNewTerm.c_cc[VMIN] = 1;
   rsNewTerm.c_cc[VTIME] = 0;
   cfsetospeed(&(rsNewTerm), speed);
   cfsetispeed(&(rsNewTerm), speed);
   tcsetattr(rs232FD, TCSANOW, &(rsNewTerm));
   
   return rs232FD;
}

void serial_close(int rs232FD) {
   tcsetattr(rs232FD, TCSANOW, &(rsOrigTerm));
   close(rs232FD);
}


serial_open 會以 8N1、No Flow Control、Non-Block、RAW Mode 開啟 Serial Port,可以搭配 select() 一起用。第一個參數要給 serial port 的 device path,通常是 /dev/usbserial0 或是其他類似的東西,看一下你自己的 /dev 目錄。

如果你懶得自己寫,也有 Open Source 的 CLI 程式可用。在下偏好用 microcom 這個程式,不過他的原始 Distribution 有點問題無法在 Mac 上正確 Compile。在下把他的 Code 拿來修改編譯,發佈 Mac OS X 的 Binary 版本。你可以到這裡下載:

http://homepage.mac.com/ulyssesric/warehouse/

_________________
ash nazg durbatuluk, ash nazg gimbatul,
ash nazg thrakatuluk agh burzum-ishi krimpatul.


回頂端
 個人資料  
 
 文章主題 :
文章發表於 : 11/05/2007 5:06 pm 
離線
新生訓練中

註冊時間: 10/03/2003 10:23 pm
文章: 5
請問個笨問題,請問 serial port 使用前要開,那用完是不是得關??

我有下載microcom 來看了,不過執行後

Last login: Mon Nov 5 16:59:29 on ttys000
/Users/PonyMa/Desktop/microcom/microcom ; exit;
ponymas-imac:~ PonyMa$ /Users/PonyMa/Desktop/microcom/microcom ; exit;
Try /dev/ttyS0
/dev/ttyS0 not found
Try /dev/ttyS1
/dev/ttyS1 not found
Try /dev/ttyS2
/dev/ttyS2 not found
Try /dev/ttyS3
/dev/ttyS3 not found
Usage: microcom [options]
[options] include:
-Ddevfile use the specified serial port device;
if a port is not provided, microcom
will try to autodetect a modem
example: -D/dev/ttyS3
-S run script from script.scr (default)
-Sscrfile run script from scrfile

microcom provides session logging in microcom.log file
Exitcode 1 - no device found

logout

[程序完成]

就顯示這些,這代表什麼意思,該怎用呢??

PS: 我使用ATEN 的 UC-232A by OSX10.4 driver on OSX10.4


回頂端
 個人資料  
 
 文章主題 :
文章發表於 : 11/05/2007 7:29 pm 
離線
嗜冰客
頭像

註冊時間: 04/30/2001 1:01 am
文章: 1530
來自: 新竹
USB to RS232

for Windows 用 Prolific 光華買的相容性較好
for Mac OSX 用 Keyspan USA-19HS 相容性較好,新 Driver V 2.4 原廠測試過,可以和 OSX10.5 Leopard 相容

http://keyspan.custhelp.com/cgi-bin/keyspan.cfg/php/enduser/std_adp.php?p_faqid=697

_________________
I love OPERA !


回頂端
 個人資料  
 
 文章主題 :
文章發表於 : 04/13/2008 4:40 pm 
離線
新生訓練中

註冊時間: 04/05/2008 10:19 pm
文章: 7
來自: 中央大學
大家好小弟我也碰到類似的問題希望有高人的指點

學校的實驗室會利用到max232晶片透過rs232來傳輸資料

學長們都是用pc來接收資料的

可是我想利用mac來接收

我會寫簡單的cocoaGUI

我希望直接接收了資料就可以直接資料處理和分析利用GUI來呈現

我現在手頭上有兩個usb轉rs232的線

一個是KEYSPAN USA-19Qi

另外一個是Prolific的線

我本身不會usb的傳輸 也不清楚mac底下的Serial Port 如何傳輸

所以不知道要如何正確的接收資料

不好意思小弟求助無門所以希望可以有高人指點

感激不盡!!


回頂端
 個人資料  
 
 文章主題 :
文章發表於 : 04/13/2008 8:49 pm 
離線
嗜冰客
頭像

註冊時間: 04/30/2001 1:01 am
文章: 1530
來自: 新竹
首先要安裝 RS232 驅動程式

Keyspan : http://www.keyspan.com/downloads/homepage_pn_usa19.spml

Prolific: http://www.prolific.com.tw/eng/downloads.asp?ID=31

然後找一個 RS232 應用程式來下載資料

如找不到,就需要自己寫一個程式,可到 Apple 網站找到 SerialPortSample.dmg 參考一下,

http://developer.apple.com/samplecode/SerialPortSample/

可以直接用 Cocoa GUI 呼叫它的副程式,很容易的。

_________________
I love OPERA !


回頂端
 個人資料  
 
 文章主題 :
文章發表於 : 04/18/2008 6:01 pm 
離線
新生訓練中

註冊時間: 04/05/2008 10:19 pm
文章: 7
來自: 中央大學
謝謝您的指點!!

我會研究一下 看看有沒有問題

有問題的話應該還要尋求指點

謝謝(躬)


回頂端
 個人資料  
 
 文章主題 :
文章發表於 : 04/29/2008 12:34 pm 
離線
新生訓練中

註冊時間: 04/05/2008 10:19 pm
文章: 7
來自: 中央大學
不好意思我遇到困難了....
我利用imac G5上用Keyspan來做輸出 , macbook上用Prolific做接收

imac上的code是:

#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <termios.h>
#include <stdio.h>

#define BaudRate B38400
#define RS232Path "/dev/cu.KeySerial1"
#define STOP '@'

int main (int argc, const char * argv[])
{
int fd, res;
struct termios oldtio, newtio;
char ch;
static char s1[20];
printf("Start...\n");
fd = open(RS232Path, O_RDWR|O_NOCTTY);

if (fd < 0)
{
perror(RS232Path);
exit(1);
}
printf("Open...\n");

tcgetattr(fd, &oldtio);
bzero(&newtio, sizeof(newtio));
newtio.c_cflag = BaudRate|CS8|CLOCAL|CREAD;
newtio.c_iflag = IGNPAR;
newtio.c_oflag = 0;
newtio.c_lflag = ICANON;
tcflush(fd, TCIFLUSH);
tcsetattr(fd, TCSANOW, &newtio);

printf("Writing...\n");
while(1)
{
while((ch=getchar()) != STOP)
{
s1[0]=ch;
res=write(fd, s1, 1);
}
s1[0]=ch;
s1[1]='\n';
res = write(fd, s1, 2);
break;
}

printf("Close...\n");
close(fd);
tcsetattr(fd, TCSANOW, &oldtio);
return 0;
}

macbook上的code是:

#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <termios.h>
#include <stdio.h>

#define BaudRate B38400
#define RS232Path "/dev/cu.usbserial"
#define _POSIX_SOURCE 1

int main (int argc, const char * argv[])
{
int fd, res;
struct termios oldtio, newtio;
char buf[256];
printf("Start...\n");
fd = open(RS232Path, O_RDWR|O_NOCTTY);

if (fd < 0)
{
perror(RS232Path);
exit(1);
}
printf("Open...\n");

tcgetattr(fd, &oldtio);
bzero(&newtio, sizeof(newtio));
newtio.c_cflag = BaudRate|CS8|CLOCAL|CREAD;
newtio.c_iflag = IGNPAR;
newtio.c_oflag = 0;
newtio.c_lflag = ICANON;
tcflush(fd, TCIFLUSH);
tcsetattr(fd, TCSANOW, &newtio);

printf("Reading...\n");

while(1)
{
res = read(fd, buf, 255);
buf[res]=0;
printf("res=%d buf=%s\n", res, buf);
if (buf[0] == '@') break;
}

printf("Close...\n");
close(fd);
tcsetattr(fd, TCSANOW, &oldtio);
return 0;
}

可是我執行出來的時候xcode是可以過的
我在imac上輸入隨便一個數字
我在macbook上卻沒有辦法接收到數字
請問為什麼呢?
感謝不盡


回頂端
 個人資料  
 
 文章主題 :
文章發表於 : 04/29/2008 5:09 pm 
離線
嗜冰客
頭像

註冊時間: 04/30/2001 1:01 am
文章: 1530
來自: 新竹
如果電腦都沒出現錯誤訊息那就要檢查硬體接線了

用示波器檢查輸出端是否有訊號輸出?

輸出的 2,3,5 腳是否接到輸入的 3,2,5 腳?

建議參考Apple的範例,執行一下

kernResult = FindModems(&serialPortIterator);
result = GetModemPath(serialPortIterator);
IOObjectRelease(serialPortIterator); // Release the iterator.

以取得正確的 Path 並且確認他們的存在,才去 OpenSerialPort( )。

_________________
I love OPERA !


回頂端
 個人資料  
 
 文章主題 :
文章發表於 : 05/03/2008 10:44 am 
離線
新生訓練中

註冊時間: 04/05/2008 10:19 pm
文章: 7
來自: 中央大學
謝謝!

已經解決了因為我的RS232接腳接錯了...真不好意思

可是問題又來了

我把程式寫成cocoa後發現

我不能用while loop 因為這樣彩球會狂轉 久了就變成沒有回應了

請問是用 startPeriodicEvents 嗎? 可是我不知道要怎麼利用

我對cocoa的event還不是很了解

還是有別的方法可以讓cocoa 程式可以一直做某件事而不會hang住

抱歉因為我對 cocoa 的知識也很一知半解

感謝高手的指點!!


回頂端
 個人資料  
 
 文章主題 :
文章發表於 : 05/03/2008 1:13 pm 
離線
嗜冰客
頭像

註冊時間: 04/30/2001 1:01 am
文章: 1530
來自: 新竹
NSTimer :D

    + (NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)seconds target:(id)target selector:(SEL)aSelector userInfo:(id)userInfo repeats:(BOOL)repeats


startPeriodicEvents應該也可以,但是我沒用過
:o

_________________
I love OPERA !


回頂端
 個人資料  
 
 文章主題 :
文章發表於 : 05/05/2008 2:18 pm 
離線
新生訓練中

註冊時間: 04/05/2008 10:19 pm
文章: 7
來自: 中央大學
謝謝您的指點^^

我後來發現NSRunLoop 可以使用

可以使彩球不會跑出來

可是問題又來了

我想要程式按一個butten可以開始持續做某件事 按另一個butten可以結束這件事

可是我發現按了第一個butten之後我就不能按第二個了

我大概知道是因為我的程式架構有問題 可是我實在是想不出為什麼

我的code:
/* myTest.m*/
#import "myTest.h"
#import "periodicTest.h"

@implementation myTest
- (IBAction)startEvent:(id)sender
{
[testOutlet doloop:YES];
}

- (IBAction)stopEvent:(id)sender
{
[textOutlet doloop:NO];
}
@end
----------------------------------------------------------------------
/* periodicTest.m*/
#import "periodicTest.h"

@implementation periodicTest
- (void)doloop:(BOOL)R
{
double resolution = 1.0;

while (R)
{
NSDate* next = [NSDate dateWithTimeIntervalSinceNow:resolution];
[[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:next];
printf("Do Loop...\n");
}
}

@end


回頂端
 個人資料  
 
 文章主題 :
文章發表於 : 05/06/2008 5:52 am 
離線
嗜冰客
頭像

註冊時間: 04/30/2001 1:01 am
文章: 1530
來自: 新竹
Dannier 寫:
可是我發現按了第一個butten之後我就不能按第二個了

[testOutlet doloop:YES];

[textOutlet doloop:NO];


NSRunLoop 我沒用過,

但是我有一個疑點,因為你沒顯示所有 .h 檔案,不知為何一個 testOutlet, 一個 textOutlet ?
我常用 NSTimer 蠻好用的。

_________________
I love OPERA !


回頂端
 個人資料  
 
 文章主題 :
文章發表於 : 05/10/2008 6:14 pm 
離線
新生訓練中

註冊時間: 04/05/2008 10:19 pm
文章: 7
來自: 中央大學
歹勢....我打錯了應該是testOutlet
所以說兩個是一樣的
可是我發現GUI程式不能這樣寫 我的架構有問題 所以還在想別的辦法

我有一個問題是
如果用NSTimer去執行一件事情 讓他持續ㄧ直做
這樣我想要他停下來 要怎麼辦呢?

用invalidate嗎?
可是我不知道要怎麼用 要怎麼讓它知道我要停止的事情
不好意思可以請教ㄧ下嗎?

感謝(躬)


回頂端
 個人資料  
 
 文章主題 :
文章發表於 : 05/10/2008 7:48 pm 
離線
嗜冰客
頭像

註冊時間: 04/30/2001 1:01 am
文章: 1530
來自: 新竹
invalidate 是可以停掉 Timer 但是有必要這樣做嗎?

把 Timer 來作 doloop 就不會有彩球的問題,如果 TimeInterval 不要設得太短, CPU 的效率也可以很高,

要停掉一個 doloop 只要在 Timeout service routine 設一個 flag 就可以了

Boolean run;

-(void)timeOut:(NSTimer *)aTimer
{
if(!run) return;
( --- your code --- )
}

- (IBAction)start:(id)sender
{
run=TRUE;
}

- (IBAction)stop:(id)sender
{
run=FALSE;
}

_________________
I love OPERA !


回頂端
 個人資料  
 
顯示文章 :  排序  
發表新文章 回覆主題  [ 29 篇文章 ]  前往頁數 12  下一頁

所有顯示的時間為 UTC + 8 小時


不能 在這個版面發表主題
不能 在這個版面回覆主題
不能 在這個版面編輯您的文章
不能 在這個版面刪除您的文章
不能 在這個版面上傳附加檔案

搜尋:
前往 :  
cron
POWERED_BY
正體中文語系由 竹貓星球 維護製作