特殊電子回路株式会社

 

 

特電について

トップ ページ製品情報ブログ「JTAG日記」JTAG情報会社紹介

インデックス

 ボード図面

 クイックスタート

 主な仕様

 GCCの使い方

 ダウンロード

 RXduinoについて

 Webコンパイラ

 JTAG ICE

 注文情報

 ご注意

 

関数リファレンス

 特電HAL

 RXduino

 デバイスライブラリ

 

サンプルコード

 サンプルコード集

 

特電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.