2008年06月25日(水)†PCBEメモ†
パッドの大きさメモ†
秋田先生からのコメント†
感想†できるだけきれいに線を引こうとか考えていたせいか、 ピッチ幅をいろいろ変えていたせいか、端点を接続しても 2008年05月27日(火)†PSoCFirstTouchで、チュートリアルを実行する†試しに先生に書いてもらったチュートリアルを実行する。 LED例題1の2で赤と青を点灯させるが、赤色が強いみたいだ。†うまく動かないと思っていたら、 void main() { // Insert your main routine code here. BYTE d; PWM8_1_Start(); PWM8_2_Start(); M8C_EnableGInt; ADC8_1_Start(ADC8_1_FULLRANGE); ADC8_1_bCal(0x42,ADC8_1_CAL_VBG); ADC8_1_StartADC(); PWM8_1_WritePulseWidth(10); PWM8_2_WritePulseWidth(10); while(1){ while(ADC8_1_fIsDataAvailable() == 0); d = ADC8_1_bGetDataClearFlag(); PWM8_1_WritePulseWidth(d); PWM8_2_WritePulseWidth(255-d); } } 2008年05月24日(土)†文字が正しくPutStringで表示されない→\0を忘れない†どうやら\0、NULL文字を入れ忘れたせいらしい。 SDカードの書き込み時の限界は256バイトらしい(CR含めて)†100バイト同時もOKだったが、 CRも含めて256バイト RXバッファをクリアしたいが、できない†UART_SDCARD_CmdReset();を入れただけでは、 2008年05月23日(金)†エコーオフの信号を送った時に、>が返ってきていたのが原因†// Echo off. UART_SDCARD_PutString(SDcmd[SD_E0]); UART_SDCARD_PutChar(CR); while(1){ //Menu Select SW = UART_PC_cGetChar(); switch(SW){ case 49: //1 UART_SDCARD_PutString(SDcmd[SD_E0]); UART_SDCARD_PutChar(CR); Receive_func(); break; エコーオフの>がRXバッファに残る iを送信後、Receive_func();で読み取るが、エコーオフの>を読み取り終了 iのコマンドの最後だけ、>だけがまた残る(Rxバッファはおそらく1バイトなので) ´△侶り返し バッファオーバーランエラーのフラグを見ればいいとのこと。†秋田先生に報告したら、 解決策、SDCARDから受信しているところにピンを立て、PCであくのりっちで観察†結局、今回の場合は、意外なところで>が返ってきていたので、 なぜかうまくいかない、あくのりっちが固まる†あくのりっちが突然固まる。 2008年5月22日(木)†コメントが間に入ると受信する場所が変わってしまう†UART_PC_CPutString("test3!!\r\n"); //Receive Prompt while ( !( RxState =UART_SDCARD_bReadRxStatus() & UART_SDCARD_RX_COMPLETE )){} if( RxState == UART_SDCARD_RX_COMPLETE){ //Start Receive Receive_Prompt = UART_SDCARD_cGetChar(); if(Receive_Prompt == 0x3e){ UART_PC_CPutString("Prompt >"); このプログラムの一行目をコメントアウトすると、 CPutStringで100バイト分出力していたけど†プロンプトまでか、100バイトまでを読み込んだ後にCPutStringで出力していたが、 cGetCharでの取り込み†while ( !( UART_PC_bReadRxStatus() & UART_PC_RX_COMPLETE )){} while(1){ if( (Receive_Data = UART_PC_cGetChar()) != 0x3e ){ // ">" de nainara UART_PC_PutChar(Receive_Data); }else{ break; } } while ( !( UART_PC_bReadRxStatus() & UART_PC_RX_COMPLETE )){} 割り込みの許可・不許可を関数毎に切替できる†UART_PC_IntCntl(UART_PC_ENABLE_RX_INT); // Enable RX interrupts 2008年05月21日(水)†UART通信のサンプルプログラムを少し改良してみる†PSoCのUART通信を試す†今更ながら、もう一度PSoCのUART通信について、試してみようと思う。 cGetCharで文字を取り込む†3eである“>”を受信するまで、繰り返しcGetCharで取り込むというプログラム。 char Receive_Data; while((Receive_Data = UART_PC_cGetChar()) != 0x3e ){ // ">" de nainara UART_PC_PutChar(Receive_Data); } しばらく動かなかったが、どうやら原因は、 前に先生に聞いたことあったのに、忘れていた。。(汗 UART通信のサンプルプログラムを少し改良してみる†UART通信のサンプルプログラムは、 これを普通の文字列を取り込むプログラムにしておきたい。 char *strPtr; UART_PC_CPutString("\r\nWelcome to PSoC UART test program. V1.1 \r\n"); while(1){ if(UART_PC_bCmdCheck()){ while(strPtr = UART_PC_szGetParam()) { // loop on each parameter UART_PC_CPutString(" <"); UART_PC_PutString(strPtr); // Print each parameter UART_PC_CPutString(">\r\n"); } } UART_PC_CmdReset(); // Reset command buffer } これが何故かうまく動かない。。 大量にエラーが増えた場合→かっこの数を確認しよう。†ちょっとプログラム変えたら、意味不明なエラーが大量に出てきた。
単純なミスだけど、すごく発見しづらい。。 2008年05月15日(木)†MeRLマイコン部Wikiを作成しました。†今年の情報共有方法は、Wikiにすることにしました。 |