初めて投稿させていただきます。
表題の件で、smartconfigraterを使ってコード生成して何かソフトを作ろうと思ったのですが、
smartconfigraterはMTU1,2のカスケード接続位相計数モードは対応してるのでしょうか?
設定が見当たらなかったのですが、例えばMTU1の位相計数モードでコード生成してからuser_initで設定するという形をとればいいのでしょうか?
また、別件でCS+を使ってsmartConfigraterを使ってLチカをやろうとしたのですが、スマートエディタ機能が効きませんでした。
スマートエディット機能を利用するには以下の2点が必要だとヘルプには載っていました。
1.オプションからテキストエディタ->スマートエディタ機能のチェックをON
2.ビルドツールからクロスコンパイルファイル出力をONへ変更
上記2点を行った後、ビルドをかけて編集を行ったのですがスマートエディタ機能が使えませんでした。
具体的には、CMTのuser関数部分でportと入力してctrl+spaceでPORTの全情報が出るはずが、出てこなかったです。
(e2studioの場合は自動補完が効きました)
CS+でスマートエディタ機能を使う場合は、上記2点のほかに何か設定は必要なのでしょうか?
ご教授いただければありがたいです。よろしくお願いします。
hogehogeさん、こんにちは。NoMaYと申します。初心者向けフォーラムへの投稿なのですが、少し気になったのは、マイコンのユーザーズマニュアルを見るかぎり、「カスケード接続位相計数モード」はRXマイコン初心者が「何かソフトを作ろう」という気持ちで使うような機能では無いという気がします。ひょっとして、やってみたいのは、もっと素朴に32ビット長で高い分解能(つまりPCLK)をカウントしてみたい、とかであったりしませんか?(以前の私がそうでしたので、、、そして、結局、位相計数モードが分からず(というか、これは違うな、感がして)やめましたが、、、)あと、別件の方ですが、私は秀丸+CS+で使うことが主で、スマートエディタ機能は使っていませんが、文面から推測するに、「portと入力してctrl+spaceでPORTの全情報が出るはず」は多分CS+では出来ないような気がします。実は、iodefine.hというヘッダファイルの中を見ないと分からないことなのですが、PORTXXというのは以下の#defineとなっていて、コンパイラのプリプロセス過程で処理されてしまうものですので、コンパイラのクロスリファレンス情報(たぶん「クロスコンパイルファイル」というのは書き間違いでは無いかという気がします)として出力されるものでは無く、「2.」の操作をする/しないで何か変化するものでは無いという気がするからです。それに対して、e2 studio(あるいはVSCodeとかも?)で同じCC-RXの場合でありながら、それが出来てしまうのは、e2 studio(というかEclipse)にインデクサーという機構/機能があって(VSCodeならIntelliSenseか?)、コンパイラからの情報とは別個に、統合開発環境それ自身が独自にソースをプリプロセス過程も込み込みで解析するようになっていて、そのことにより#defineに対しても機能する、のだと考えています。iodefine.hの中のPORTXX定義の例
#define PORT0 (*(volatile struct st_port0 __evenaccess *)0x8C000)#define PORT1 (*(volatile struct st_port1 __evenaccess *)0x8C001)#define PORT2 (*(volatile struct st_port2 __evenaccess *)0x8C002)#define PORT3 (*(volatile struct st_port3 __evenaccess *)0x8C003)#define PORT4 (*(volatile struct st_port4 __evenaccess *)0x8C004)#define PORT5 (*(volatile struct st_port5 __evenaccess *)0x8C005)#define PORT6 (*(volatile struct st_port6 __evenaccess *)0x8C006)#define PORT7 (*(volatile struct st_port7 __evenaccess *)0x8C007)#define PORT8 (*(volatile struct st_port8 __evenaccess *)0x8C008)#define PORT9 (*(volatile struct st_port9 __evenaccess *)0x8C009)#define PORTA (*(volatile struct st_porta __evenaccess *)0x8C00A)#define PORTB (*(volatile struct st_portb __evenaccess *)0x8C00B)#define PORTC (*(volatile struct st_portc __evenaccess *)0x8C00C)#define PORTD (*(volatile struct st_portd __evenaccess *)0x8C00D)#define PORTE (*(volatile struct st_porte __evenaccess *)0x8C00E)#define PORTF (*(volatile struct st_portf __evenaccess *)0x8C00F)#define PORTG (*(volatile struct st_portg __evenaccess *)0x8C010)#define PORTJ (*(volatile struct st_portj __evenaccess *)0x8C012)