jlsong1983 发表于 2008-10-29 18:16

请教关于合众达示例程序中2812定时器寄存器TCR定义的问题

请教关于合众达示例程序中2812定时器寄存器TCR定义的问题<br />请教关于合众达示例程序中2812定时器寄存器TCR定义的问题<br />合众达的用户指南中说2812的CPU定时器详细说明参考TMS320F28x&nbsp;DSP&nbsp;CPU&nbsp;and&nbsp;Instruction&nbsp;Set&nbsp;Reference&nbsp;Guide,而我在该手册中并未发现对定时器的说明。在手册TMS320F28x&nbsp;Control&nbsp;and&nbsp;Interrupts&nbsp;Reference&nbsp;Guide&nbsp;(Rev.&nbsp;A)中发现对TCR定时器寄存器的定义9-6位都是保留位,而合众达程序DSP28_CpuTimer.h中却定义为:<br />struct&nbsp;&nbsp;TCR_BITS&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;bits&nbsp;&nbsp;description<br />&nbsp;&nbsp;&nbsp;Uint16&nbsp;&nbsp;&nbsp;&nbsp;OUTSTS:1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Current&nbsp;state&nbsp;of&nbsp;TOUT<br />&nbsp;&nbsp;&nbsp;Uint16&nbsp;&nbsp;&nbsp;&nbsp;FORCE:1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Force&nbsp;TOUT<br />&nbsp;&nbsp;&nbsp;Uint16&nbsp;&nbsp;&nbsp;&nbsp;POL:1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Output&nbsp;polarity<br />&nbsp;&nbsp;&nbsp;Uint16&nbsp;&nbsp;&nbsp;&nbsp;TOG:1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Output&nbsp;toggle&nbsp;mode<br />&nbsp;&nbsp;&nbsp;Uint16&nbsp;&nbsp;&nbsp;&nbsp;TSS:1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Timer&nbsp;Start/Stop<br />&nbsp;&nbsp;&nbsp;Uint16&nbsp;&nbsp;&nbsp;&nbsp;TRB:1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Timer&nbsp;reload<br />&nbsp;&nbsp;&nbsp;Uint16&nbsp;&nbsp;&nbsp;&nbsp;FRCEN:1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Force&nbsp;enable<br />&nbsp;&nbsp;&nbsp;Uint16&nbsp;&nbsp;&nbsp;&nbsp;PWIDTH:3;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;9:7&nbsp;&nbsp;&nbsp;BitTOUT&nbsp;output&nbsp;pulse&nbsp;width<br />&nbsp;&nbsp;&nbsp;Uint16&nbsp;&nbsp;&nbsp;&nbsp;SOFT:1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;10&nbsp;&nbsp;&nbsp;&nbsp;Emulation&nbsp;modes<br />&nbsp;&nbsp;&nbsp;Uint16&nbsp;&nbsp;&nbsp;&nbsp;FREE:1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;11<br />&nbsp;&nbsp;&nbsp;Uint16&nbsp;&nbsp;&nbsp;&nbsp;rsvd:2;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;12:13&nbsp;reserved<br />&nbsp;&nbsp;&nbsp;Uint16&nbsp;&nbsp;&nbsp;&nbsp;TIE:1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;14&nbsp;&nbsp;&nbsp;&nbsp;Output&nbsp;enable<br />&nbsp;&nbsp;&nbsp;Uint16&nbsp;&nbsp;&nbsp;&nbsp;TIF:1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;15&nbsp;&nbsp;&nbsp;&nbsp;Interrupt&nbsp;flag<br />};&nbsp;<br />并且在DSP28_CpuTimer.c的函数ConfigCpuTimer()中对9-6位都进行了赋值,如下:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Timer-&gtRegsAddr-&gtTCR.bit.FRCEN&nbsp;=&nbsp;0;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Force&nbsp;output&nbsp;enable&nbsp;(not&nbsp;used)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Timer-&gtRegsAddr-&gtTCR.bit.PWIDTH&nbsp;=&nbsp;7;&nbsp;&nbsp;&nbsp;//&nbsp;7+1&nbsp;=&nbsp;8&nbsp;SYSCLKOUT&nbsp;cycle&nbsp;pulse&nbsp;width&nbsp;<br />请问9-6位的定义究竟是怎样的含义?究竟哪个参考手册有针对TCR寄存器的权威说明

JohnnyShIne 发表于 2011-10-7 15:34

等回复啊!

zhaozhijian1226 发表于 2011-10-8 21:43

我用的也是合众达的,但是定义如下:
structTCR_BITS {          // bitsdescription
   Uint16    rsvd1:4;       // 3:0   reserved
   Uint16    TSS:1;         // 4   Timer Start/Stop
   Uint16    TRB:1;         // 5   Timer reload
   Uint16    rsvd2:4;       // 9:6   reserved
   Uint16    SOFT:1;      // 10    Emulation modes
   Uint16    FREE:1;      // 11
   Uint16    rsvd3:2;       // 12:13 reserved
   Uint16    TIE:1;         // 14    Output enable
   Uint16    TIF:1;         // 15    Interrupt flag
};
不知道你的是什么原因。
页: [1]
查看完整版本: 请教关于合众达示例程序中2812定时器寄存器TCR定义的问题