SmartConfigraterの設定について

初めて投稿させていただきます。

表題の件で、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)

     

  • 初めまして。回答ありがとうございます。
    1.カスケード接続について
    これは確かに使う人はあんまりいない、というか使わざるを得ない状況というのがないものでしたが、自分の経験が浅すぎてこれを使う以外方法が見当たらなかったので質問してみたところです。
    実際、やり方を考えたら16bit長で足りるということに投稿後に気づきました。
    ただ、やろうとしたときに設定がなかったのでなんでないのかな?と思って投稿したところです。

    2.スマートエディタ機能について
    やはり、CS+と他エディタで紐づける要素が違うのでできる/できないはあるのですね・・・
    それだけでもすっきりしました。自動補完ないと調べるのと文字違いでエラー出されても嫌なので素直にe2studioの方使うことにします。

    ご教授ありがとうございました。