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

[复制链接]
3472|2
 楼主| jlsong1983 发表于 2008-10-29 18:16 | 显示全部楼层 |阅读模式
请教关于合众达示例程序中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 | 显示全部楼层
我用的也是合众达的,但是定义如下:
struct  TCR_BITS {          // bits  description
   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
};
不知道你的是什么原因。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

57

主题

90

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部