konashi UARTで送受信
昨日の続き、っていうかよく考えたら超簡単だった。
やっぱり俺ってアホでした。int ascii objective-cで検索したらすぐStackoverflowのページがでてきた。
How to convert ASCII value to a character in Objective-C?
というわけで、無事UARTで送受信ができるようになりました!
- (IBAction)bbtnSend_Action:(id)sender {
// Vを送信
[Konashi uartWrite:'V'];
}
- (void) recvUartRx {
// 受信したdataをstringに格納し、NSLogで表示
NSString *string = [NSString stringWithFormat:@"%c", [Konashi uartRead]];
NSLog(@"UartRx %d, %@", [Konashi uartRead], string);
}
なんでこんなの悩んだんだろう。
やっぱり俺ってアホでした。int ascii objective-cで検索したらすぐStackoverflowのページがでてきた。
How to convert ASCII value to a character in Objective-C?
というわけで、無事UARTで送受信ができるようになりました!
- (IBAction)bbtnSend_Action:(id)sender {
// Vを送信
[Konashi uartWrite:'V'];
}
- (void) recvUartRx {
// 受信したdataをstringに格納し、NSLogで表示
NSString *string = [NSString stringWithFormat:@"%c", [Konashi uartRead]];
NSLog(@"UartRx %d, %@", [Konashi uartRead], string);
}
なんでこんなの悩んだんだろう。
スポンサーサイト
konashi
放置状態ですが、生きてます。
いや、誰も気にしていないと思いますが......。
さて、とりあえず、メモです。
ユカイ工学さんのkonashiというものを買いました。
何ができるのかと言いますと、BLEのチップってのが載っててそっからUARTだのPWMだのが出ているものです。BLEが載っているというのはどういうことかと言いますと、iPhone4SやiPhone5などBluetooth4.0が載ったデバイスからアクセス出来るのです。そうすると、iPhoneではシリアル通信するのにいろいろ面倒だなぁ、どうせならワイヤレスがいいなぁ。なんていう夢が叶ってしまうのです。
いや、かなり適当ですが、やりたいことは上記です。iPhoneからシリアル通信、しかも線がない!
という訳で買ってみたのですが、簡単につながるし、サンプルもたくさんあるから楽チンでいいなぁ!って思っていたのもつかの間、Objective-Cでunsigned charからNSStringへの変換がわからない。
なんで?超初歩的なところでつまづいてしまってこの時間。続きは明日にするか。
いや、誰も気にしていないと思いますが......。
さて、とりあえず、メモです。
ユカイ工学さんのkonashiというものを買いました。
何ができるのかと言いますと、BLEのチップってのが載っててそっからUARTだのPWMだのが出ているものです。BLEが載っているというのはどういうことかと言いますと、iPhone4SやiPhone5などBluetooth4.0が載ったデバイスからアクセス出来るのです。そうすると、iPhoneではシリアル通信するのにいろいろ面倒だなぁ、どうせならワイヤレスがいいなぁ。なんていう夢が叶ってしまうのです。
いや、かなり適当ですが、やりたいことは上記です。iPhoneからシリアル通信、しかも線がない!
という訳で買ってみたのですが、簡単につながるし、サンプルもたくさんあるから楽チンでいいなぁ!って思っていたのもつかの間、Objective-Cでunsigned charからNSStringへの変換がわからない。
なんで?超初歩的なところでつまづいてしまってこの時間。続きは明日にするか。
一定周期のパルス発振
さて,前記事では1命令あたりの実行時間を測定したが,別にwaitを入れて周期的な波形を出そうとは考えていない。ただ見てみたかっただけ。最終的にはタイマを使ってカウンタとかいじくってパルスを生成することになると思うので,最初からそれでいこう。
方法はタイマを使ってカウントさせ,ある一定値を与えておきタイマの値がこの値になったら割り込みを起こす。割り込み先でそれまで出力ビットを反転させる。こうするとある程度正確に一定周期のパルスが発生できるはず。ただし,ある一定値はパルスのオンエッジとオフエッジで発生させるから,たとえば発生させたい周波数が440Hz(=2.2727ms)の倍の早さのつまり1.13636msごとに割り込ませる。この方法だとある一定値を変更すれば音階ができそう。
と思っていろいろ調べていたら,ATtiny2313はコンペアマッチでポートの出力を反転させる機能があるらしい。だったらそのままそれを使えば一定周期のパルスとなる。
tag : AVR, ATtiny2313
