|
|
インデックス
関数リファレンス
サンプルコード
|
特電HALの概要と使い方特電HALを使うと、RX62Nの内蔵ペリフェラルを簡単に使うことができるようになります。ハードウェアマニュアルを読んでレジスタの設定方法を探す手間が省けます。また、サポート付きでご購入いただいているお客様にはソースも公開しているので、内蔵ペリフェラル・レジスタの設定の参考にも使えます。
特電HALを使うには、プログラムの先頭で #include <tkdn_hal.h> と記述してください。
リンク時には、リンカオプションで -ltkdnhal を指定するか、もしくは./lib/libtkdnhal.aをリンクしてください。
特電HAL関数リファレンス★この関数リファレンスは書きかけです。所々説明が足りない箇所があります。詳しくはお問い合わせください。 AD変換器 AD変換器を初期化する void adc_init(void); AD変換器を終了してI/Oポートに戻す void adc_terminate(void); AD変換器からサンプリングする unsigned short adc_sample(int analog_ch_num); DA変換器 DA変換器を初期化する void dac_init(void); DA変換器を終了してI/Oポートに戻す void dac_terminate(void); DA変換器からアナログ値を出力する void dac_output(int dac_portnum,int val10bit); イーサネットコントローラ イーサネットライブラリをオープンする int ether_open(unsigned char mac_addr[]); イーサネットライブラリを閉じる void ether_close(void); bufに格納された生のデータをイーサネットに送信する int ether_write(unsigned char *buf,int len); イーサネットから受信した生のデータをbufに格納する int ether_read(unsigned char *buf); リンクがUPしているか調べる int ether_is_linkup(void); 100Mbpsモードになっているか調べる int ether_is_100M(void); 全二重通信が有効になっているか調べる int ether_is_fullduplex(void); 強制的にオートネゴシエーションを実行する void ether_autonegotiate(); リンクの状態が変化したかどうかを調べる。 int ether_link_changed(void); 汎用I/O 任意の端子の入出力状態を設定する void gpio_set_pinmode(int pinnum,int isoutput); 端子から値を出力する void gpio_write_port(int pinnum,int state); 端子の値を入力する int gpio_read_port(int pinnum);
割り込み PSWを変更してグローバルに割り込みを許可する void enable_interrupt(); PSWを変更してグローバルに割り込みを禁止する void disable_interrupt();
リアルタイムクロック 現在時刻を設定する int rtc_set_time(RX62N_RTC_TIME *time); 現在時刻を取得する int rtc_get_time(RX62N_RTC_TIME *time);
非同期シリアル(UART) SCIポートを初期化する SCI_PORT sci_init(SCI_PORT _port,int bps); 使用しているSCIのポートを取得 SCI_PORT sci_getport(void); 1文字送信 int sci_putc(char c); ※失敗(送信バッファFULL)したら0を返す。ブロッキングしない。 文字列送信 void sci_puts(const char *str); ※失敗(送信バッファFULL)したら0を返す。ブロッキングしない。 1文字受信 char sci_getc(void); ※受信した文字がなければ\0を返す。ブロッキングしない。 文字列受信。最大max文字受信する char *sci_gets(char *s,int max); ※最後にヌルターミネータをつけるが、最大文字数に達した場合はヌルターミネータはつけない バイナリデータ送信 void sci_writedata(const unsigned char *data,int len); バイナリデータ受信 void sci_readdata(unsigned char *data,int len); 受信バッファに溜まっているデータ数を返す int sci_rxcount(void); CR・LFの変換をSCIライブラリ内で行うかどうかを指定する void sci_convert_crlf(CRLFMODE tx,CRLFMODE rx);
同期シリアル(SPI) SPIを初期化する void spi_init(void); SPIを終了し、端子を通常のI/Oに戻す void spi_terminate(void); SPIのポートを設定する void spi_set_port(SPI_PORT port); SPIのビット長を設定する void spi_set_bit_length(int bit_length); SPIのビットオーダーを設定する void spi_set_bit_order(SPI_BIT_ORDER bit_order) ; SPIの速度を設定する void spi_set_clock_divider(SPI_CLK_DIVIDER divider); SPIのデータモードを設定する void spi_set_data_mode(SPI_DATA_MODE mode); SPIで1ワードのデータを送受信する unsigned long spi_transfer(unsigned long txbyte);
タイマ タイマを初期化する。システムが起動してからの時間をクリアする。 void timer_init(void); 指定された時間(ミリ秒単位)だけwaitする。 void timer_wait_ms(unsigned long ms); 指定された時間(μ秒単位)だけwaitする。 void timer_wait_us(unsigned long us); システムが起動してからの時間をミリ秒単位で返す。 unsigned long timer_get_ms(void); システムが起動してからの時間をμ秒単位で返す。 unsigned long timer_get_us(void); 1ミリ秒ごとにタイマ割り込みで呼び出されるユーザ関数を登録する。 unsigned long timer_regist_userfunc(USER_TIMER_FUNC func);
|
Copyright(C) 2011 TokushuDenshiKairo Inc. All rights reserved.