並列ポート出力

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら

トピックに返信する


答えを正確にご入力ください。答えられるかどうかでスパムボットか否かを判定します。

BBCode: ON
[img]: ON
[flash]: OFF
[url]: ON
スマイリー: OFF

トピックのレビュー
   

展開ビュー トピックのレビュー: 並列ポート出力

Re: 並列ポート出力

#4

by 結城紬 » 5年前

Nuvoton というメーカーがあるんですね。初めて知りました。勉強になります。

マニュアルは多分これでしょうか。
http://www.nuvoton.com/resource-files/T ... _V1.02.pdf

"GPIO Port [A/B/C/D/E/F] Data Output Value (GPIOx_DOUT)" の記述を見ると、ポート毎の同時設定はできそうな感じですね。

Re: 並列ポート出力

#3

by SoSo_ynak » 5年前

結城紬さん
アドバイスありがとうございます。
マイナーなチップ(Nuvoton NUC220)なので
日本語情報が少なくて苦労してます。
早速確かめてみます。

Re: 並列ポート出力

#2

by 結城紬 » 5年前

SoSo_ynak さん、こんにちは。
GPIO はペリフェラルですので、制御方法はチップによって異なります。ARMなら全部同じ、ではありません。
できるかどうかは、CPUのリファレンスマニュアルを見ればわかります。できると載っていないのであれば、無理です。

並列ポート出力

#1

by SoSo_ynak » 5年前

ARM初心者です。
uVision5 上でやっと Lチカ プログラムが動くようになりました。
Lチカはポート単独出力だったのですが、何本かのポートに同時にデータパターンを
出力しようとして行き詰まりました。

コード:

int main(void)
{
	/* Unlock protected registers */
	SYS_UnlockReg();
	/* Init System, peripheral clock and multi-function I/O */
	SYS_Init();
 	/* Lock protected registers */
	SYS_LockReg();
 	/* Init UART0 for printf */
	UART0_Init();
   
    /* Configure PB.5 as Input mode and PA.10 as Output mode */
	GPIO_SetMode(PA, BIT10, GPIO_PMD_OUTPUT);
	GPIO_SetMode(PB, BIT5, GPIO_PMD_INPUT);
	
	PA10 = 0;
	while(1)
	{
		if(PB5 != 0){								// PB5 = H >> blinking
			if( PA10 == 0){
				CLK_SysTickDelay(20000);
			}
			else{
				CLK_SysTickLongDelay(1000000);
			}
			PA10 = ~PA10;
		}
	}
} 
このコードの中の
PA10 = 0/1;
を PICの
PORTA = 0b01010101;
のように書くことはできないのでしょうか?
(もちろん、並列なら 8進でも16進表記でもいいのですが)
ファンジェネのように配列に入れたパターンを順次出力することを考えています。
よろしくおねがいします。

ページトップ