如何读取TI C2000处理器的COMP块的输出?

11次浏览(过去30天)
我想读取TI C2000处理器的COMP(比较器)块的输出,这样我就可以在我的模型中使用该值。COMP块输出到GPIO1引脚,如“配置参数>硬件实现>目标硬件资源> COMP”中所述,但我无法访问此值。
我已经尝试通过使用GPIO数字输入块来做到这一点,但我得到以下错误:
计算C280x GPIO数字输入块(掩码)的“InitFcn”回调错误比较器/数字输入。
回调字符串是'validateC280xGPIO;'
引起的:
GPIO引脚GPIO1已被其他块使用。
我应该使用其他什么块?

接受的答案

MathWorks支援小组
MathWorks支援小组 2019年4月16日
编辑:MathWorks支援小组 2019年4月15日
根据文档,你可以在下面的页面上找到:
这个块应该用来配置引脚,采样时间和模拟输入的数据类型。因此,在当前配置中,Simulink试图配置引脚'CPIO1'以接收来自外部源的输入。然而,这个引脚已经被分配到COMP的输出,因此它会给出一个错误。
在这个场景中可以使用的块是Memory Copy块:
你可以在Simulink库资源管理器中“德州仪器C2000处理器>内存操作的嵌入式编码器支持包”下找到。在这种情况下,您应该按照所附图像(block_config.PNG)配置块。因此,您应该更改的设置如下:
  • 'Source > Copy from:'设置为'指定源代码符号'
  • '源代码符号'设置为'&GpioDataRegs.GPADAT.all'
  • '数据类型:'设置为所需的类型,如布尔或uint32
该块将提供包含GPIO引脚状态的寄存器。然后可以从输出中提取所需的GPIO。
通过在MATLAB命令窗口中运行以下命令,您可以找到该块的示例应用程序:
> > c28035pmsmfocdual
内存复制块可以在'霍尔传感器B'中找到:该块称为'ECap1Regs.TSCTR'。
1评论
迈克雅司病
迈克雅司病 2022年11月27日
你好先生,
你能分享一个内存拷贝块用来写寄存器的例子吗?
亲切的问候。

登录评论。

更多答案(0)

2022世界杯八强谁会赢?


释放

R2018b

世界杯预选赛小组名单社区寻宝

在MATLAB Central中找到宝藏,并发现社区如何帮助您!世界杯预选赛小组名单

开始狩猎!

Baidu
map