908JL16 RC clock option configuration problem

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

908JL16 RC clock option configuration problem

2,858件の閲覧回数
popup
Contributor I
hi,all
 
908JL16 has a alternative OSC input of RC circuit. In datasheet, clearing the OSCSEL in MOR will force the RC oscillator to be the osc signal.
I write "MOR_OSCSEL=0;" in the beginning of main.c with CW5.1HC08 and the compiler error indicates the OSCSEL is a const var and will not be modifiable.
 
I just need to use the RC osc instead of a XTAL in cost-sensitive project. And I believe that JL16 has this feather, but I don't know how to initialize it.
 
How can I do that?
 
Regards,
popup :smileytongue:
 
 
ラベル(1)
0 件の賞賛
返信
7 返答(返信)

860件の閲覧回数
peg
Senior Contributor IV
Hi popup,
 
The MOR register is implemented in flash. So it has to be 'programmed', usually at the same time as you programme your code into flash. It cannot be altered simply by writing to it from your code.
 
0 件の賞賛
返信

860件の閲覧回数
popup
Contributor I
Hi,Peg

I understand that this bit should be programmed in flash,but how?
can you explain by steps?
Thank you for advance.
 
 
Regards,
popup

0 件の賞賛
返信

860件の閲覧回数
peg
Senior Contributor IV
Hi popup,
 
I know exactly what to do at a device level, however I don't know with confidence how to explain that to Codewarrior in C.
This subject has been explained recently (possibly in CW forum) and I think it was actually for the FLBPR but the principle will be the same. I will leave you to do the searching.
 
0 件の賞賛
返信

860件の閲覧回数
popup
Contributor I
Hi, peg
 
I assume the MOR in flash is @FB00 and RC option for MOR is set to be 0x7f.
I use Program Byte command in burnner to Program the byte @FB00 to be 0x7f.
 
Will that work?
 
 
Regards,
popup
 
0 件の賞賛
返信

860件の閲覧回数
peg
Senior Contributor IV
Hi,
 
You might be able to but I meant you to put it in to your c programme.
 
I assembler you would do this
 
 org MOR
 db $7F
 
I don't normally use C and I don't use Codewarrior. Post a question about this in 8-bit CW forum
 
0 件の賞賛
返信

860件の閲覧回数
Alban
Senior Contributor II
Hello,

The syntax is:

const unsigned char REGISTER @ 0xADDRESS = VALUE;

To be written in the same place as global variable.
Will create a warning as it overlaps the decalred Flash area. No worry.

Cheers,
Alban.
0 件の賞賛
返信

860件の閲覧回数
popup
Contributor I
Hi, all
 
The correct operation in CW08 v5.1 to setup MOR or FLBPR for 908JL16 should be:
 
Code:
const byte MOR_INIT @0x0000FFD0 = 0x7f; //set MOR to use RC oscconst byte FLBPR_INIT @0x0000FFCF =0xff; //unprotect all flash

 It is important to remember 3 points:
1. add "const" to indicate MOR or FLBPR is in flash
2. use MOR_INIT instead of MOR and FLBPR_INIT instead of FLBPR,this is described in .h file related to the specific 908mcu.
3. when using other 908mcu, check the address of MOR and FLBPR in their datasheet and modify them to the right value.
0 件の賞賛
返信