RL78マイコン基板(RL78/G10)|e2studio同梱のPython 2.7.2+pySerial 2.7でシリアルポート操作
大昔のエントリでe2studio V1.0に同梱されていたインストーラでPython 2.7.2をインストールしたことが
あるのですが、e2studio V3.1にもPython 2.7.2のインストーラが同梱されていました。そこで、これに
pySerialというPython本体とは別に開発されている追加のシリアルポート操作パッケージ(version 2.7)を
インストールして、前のエントリと同様にRL78/G10の内蔵フラッシュメモリのチェックサム値を取得する
プログラムを作ってみました。前のエントリのプログラムを取り敢えず書き変えた程度ですので大雑把な
プログラムのままではありますが、同じチェックサム値を取得することは出来ました。
set PATH=E:\utils\Python27;%PATH%
python
import serial, time
def checksum():
com = serial.Serial(
port = 'COM14',
baudrate = 115200,
parity = serial.PARITY_ODD
)
com.setRTS( False )
com.setBreak( True )
com.setRTS( True )
com.setBreak( False )
com.flushInput()
print ' '
com.write( bytearray( { 0x3A } ) )
time.sleep( 1 )
rdat = bytearray( com.read( 2 ) )
print format( rdat[0], "02X" )
print format( rdat[1], "02X" )
com.write( bytearray( { 0x53 } ) )
time.sleep( 1 )
rdat = bytearray( com.read( 3 ) )
print format( rdat[0], "02X" )
print format( rdat[1], "02X" )
print format( rdat[2], "02X" )
com.write( bytearray( { 0x06 } ) )
time.sleep( 1 )
rdat = bytearray( com.read( 4 ) )
print format( rdat[0], "02X" )
print format( rdat[1], "02X" )
print format( rdat[2], "02X" )
print format( rdat[3], "02X" )
print ' '
com.close()
checksum()

Python 2.7.2のインストーラでは、インストール先フォルダを変更しただけで他はデフォルトのままです。


また、pySerial 2.7のインストーラでは、インストール済みのPythonを自動的に検出するようになっていて、
インストール先フォルダを直接指定することは出来ないようでした。(残念ながら、CS+(旧CubeSuite+)に
同梱されているIronPythonは検出されませんでしたので、何か小技を使わない限りCS+(旧CubeSuite+)に
インストール出来なさそうでした。)

なお、pySerial 2.7のインストーラですが、以下からpyserial-2.7.win32.exeをダウンロードしました。
pySerial 2.7 ダウンロードページ
https://pypi.python.org/pypi/pyserial/2.7/
追記 : メモ
pySerial ドキュメントページ
http://pyserial.sourceforge.net/
あるのですが、e2studio V3.1にもPython 2.7.2のインストーラが同梱されていました。そこで、これに
pySerialというPython本体とは別に開発されている追加のシリアルポート操作パッケージ(version 2.7)を
インストールして、前のエントリと同様にRL78/G10の内蔵フラッシュメモリのチェックサム値を取得する
プログラムを作ってみました。前のエントリのプログラムを取り敢えず書き変えた程度ですので大雑把な
プログラムのままではありますが、同じチェックサム値を取得することは出来ました。
set PATH=E:\utils\Python27;%PATH%
python
import serial, time
def checksum():
com = serial.Serial(
port = 'COM14',
baudrate = 115200,
parity = serial.PARITY_ODD
)
com.setRTS( False )
com.setBreak( True )
com.setRTS( True )
com.setBreak( False )
com.flushInput()
print ' '
com.write( bytearray( { 0x3A } ) )
time.sleep( 1 )
rdat = bytearray( com.read( 2 ) )
print format( rdat[0], "02X" )
print format( rdat[1], "02X" )
com.write( bytearray( { 0x53 } ) )
time.sleep( 1 )
rdat = bytearray( com.read( 3 ) )
print format( rdat[0], "02X" )
print format( rdat[1], "02X" )
print format( rdat[2], "02X" )
com.write( bytearray( { 0x06 } ) )
time.sleep( 1 )
rdat = bytearray( com.read( 4 ) )
print format( rdat[0], "02X" )
print format( rdat[1], "02X" )
print format( rdat[2], "02X" )
print format( rdat[3], "02X" )
print ' '
com.close()
checksum()

Python 2.7.2のインストーラでは、インストール先フォルダを変更しただけで他はデフォルトのままです。


また、pySerial 2.7のインストーラでは、インストール済みのPythonを自動的に検出するようになっていて、
インストール先フォルダを直接指定することは出来ないようでした。(残念ながら、CS+(旧CubeSuite+)に
同梱されているIronPythonは検出されませんでしたので、何か小技を使わない限りCS+(旧CubeSuite+)に
インストール出来なさそうでした。)

なお、pySerial 2.7のインストーラですが、以下からpyserial-2.7.win32.exeをダウンロードしました。
pySerial 2.7 ダウンロードページ
https://pypi.python.org/pypi/pyserial/2.7/
追記 : メモ
pySerial ドキュメントページ
http://pyserial.sourceforge.net/
- 関連記事
-
- RL78マイコン|本家Arduinoライブラリでのvolatile変数アクセスの衝突防止の実装
- RL78マイコン|volatile変数アクセスの衝突防止(結局はDI/EIですが) (1)
- RL78マイコン|32bit変数へのアクセスはアトミックじゃない
- RL78マイコン(G12,G13,G14)|CS+(CubeSuite+)でインターバルタイマシミュレーションを試す
- RL78マイコン基板(RL78/G10)|CS+(CubeSuite+)で内蔵周辺機能シミュレーションを試す (3)
- RL78マイコン基板(RL78/G10)|CS+(CubeSuite+)で内蔵周辺機能シミュレーションを試す (2)
- RL78マイコン基板(RL78/G10)|CS+(CubeSuite+)で内蔵周辺機能シミュレーションを試す (1)
- RL78マイコン基板(RL78/G10)|e2studio同梱のPython 2.7.2+pySerial 2.7でシリアルポート操作
- RL78マイコン基板(RL78/G10)|CS+(CubeSuite+)のPythonコンソール上でシリアルポート操作 (3)
- RL78マイコン基板(RL78/G10)|CS+(CubeSuite+)のPythonコンソール上でシリアルポート操作 (2)
- RL78マイコン基板(RL78/G10)|CS+(CubeSuite+)のPythonコンソール上でシリアルポート操作 (1)
- RL78マイコン基板(RL78/G10)|TOOL0端子へのシリアル出力を使ったgetch()関数もどきのコード
- RL78マイコン基板(RL78/G10)|TOOL0端子へのシリアル出力を使ったkbhit()関数もどきのコード
- RL78マイコン基板(RL78/G10)|TOOL0端子から2Mbaudでソフトウェアシリアル出力するコード
- RL78マイコン基板(RL78/G10)|Renesas Flash Programmerのコマンドラインでフラッシュ書き込み
2015/01/17 blog-entry-552 category: RL78 /* 16bit,8bit CISC */
| h o m e |