Thread 中讨论的其他器件:C2000WARE、 SysConfig
工具/软件:
您好、
我正在尝试处理新的 LaunchPad 、并且我已设置代码。 但是、我无法直接写入微控制器寄存器。
我收到下面的警告消息:
#10247-D:创建不带 SECTIONS 规范的输出段“AdccRegsFile\",“,</s>、
代码无效。
如何在无需通过器件库的情况下直接写入微控制器寄存器。
谢谢
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:
您好、
我正在尝试处理新的 LaunchPad 、并且我已设置代码。 但是、我无法直接写入微控制器寄存器。
我收到下面的警告消息:
#10247-D:创建不带 SECTIONS 规范的输出段“AdccRegsFile\",“,</s>、
代码无效。
如何在无需通过器件库的情况下直接写入微控制器寄存器。
谢谢
您好:
我建议查看 C2000ware 中的一些示例代码。 根据工程样式 (bitfield 或 driverlib — 请参阅此处的说明) 、可以通过不同的方式直接读取/写入寄存器。
HWREGH(base + ECAP_O_ECCTL1) = (HWREGH(base + ECAP_O_ECCTL1) & ~(1U << shift)) | ((uint16_t)polarity << shift);uint32_t count = HWREG(base + ECAP_O_CAP1);AdcaRegs.ADCCTL1.bit.INTPULSEPOS = 1; adcAResults[index++] = AdcaResultRegs.ADCRESULT0;此致、
Delaney
尊敬的 Delaney:
感谢您的答复。
这就是我实现对微控制器寄存器直接写入的方式
写入寄存器行
尊敬的 Yomi:
[引述 userid=“516880" url="“ url="~“~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1564085/tms320f28p559sj-q1-writing-directly-to-microcontrolle-registers-in-the-code/6026512由于我的工程已生成、如何针对上述情况修改我的工程?
[/报价]这是指 SysConfig 选择已经 完成、还是您已经编写了应用程序代码(位域格式)?
此致、
Delaney
尊敬的 Yomi:
我可以看到、在这种情况下、您可以轻松地将.syscfg 文件的内容复制到新项目的.syscfg 文件中、方法是右键点击>>使用>>通用文本编辑器打开。 我建议采取以下措施:
此致、
Delaney
您好、
感谢您的答复。
我真的想使用直接写入寄存器、因为这样代码运行得更快。
这是我想直接对寄存器进行写入的首选方法
if (AdccRegs.ADCEVTSTATT.bit.PPB2TRIPHI)
但我使用的是以下表单
尊敬的 Abayomi:
HWREG 访问实际上应该运行得更快、因为这些访问使用编译器内在函数在编译时而不是运行时查找寄存器地址。 位域样式 (AdccRegs.ADCEVTSTATT.bit.PPB2TRIPHI) 使用的结构会占用器件上的额外存储器、并需要额外的周期才能访问、因此该选项在运行时的性能应该会更差。
尽管如此、如果您仍然希望在 SysConfig 中使用位字段样式、请告诉我。
此致、
Delaney