4705|16

76

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

打算和PIC32MZ的中断死磕到底了 [复制链接]

 
自己有点强迫症,不想用harmony,主要也是这东西三两天也搞不定,因此中断都自己写。连续几天的奋战,初始化中断所需的向量基址和偏移量,定时器和输出比较中断都搞起来了,昨天和今天搞UART就不行了。之前定时器和输出比较的向量偏移量连蒙带猜,加上一些计算,算是搞了出来,今天打电话问了PIC的一个工程师,劝我用harmony,并明确了官方不对直接编程提供帮助也无法提供,看来只有自己折腾了。反复测试,感觉向量地址的偏移量不是随意配置的,官方文档无任何可用信息,大家有什么意见或者建议?用harmony,还是继续我这种费力不讨好的SB方式?实际我也很想搞清楚PIC32的中断配置和执行过程,不然大学的微机原理岂不白学了。

最新回复

说实话STM32固件库用起来比较爽,PIC我也刚看,最好还是用库函数,效率高移植块   详情 回复 发表于 2024-11-24 20:26
点赞 关注
 

回复
举报

1379

帖子

2

TA的资源

五彩晶圆(初级)

沙发
 
harmony的库有源码么? 如果是自己玩,琢磨学习肯定会有收获。如果是做产品开发,若需要赶进度就用现成的,甚至换一个平台放弃它。
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
不知道啊,还不知道harmony怎么玩,但要写一些涉及到状态机的东西,所以我有顾虑,PIC32让人爱让人恨得东西。我是自己玩,用来做个三轴伺服的运动控制器
 
 
 

回复

1379

帖子

2

TA的资源

五彩晶圆(初级)

4
 
PIC32 以前就买过但是一直没使用。
它和 ARM Cortex-m4 对比起来有很多优点吗?
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(中级)

5
 
没有用过ARM,但PIC32使用的人,貌似确实很少,或许就是因为PIC用起来比较难吧
 
 
 

回复

7608

帖子

18

TA的资源

五彩晶圆(高级)

6
 
>>>官方文档无任何可用信息
不知你有什么自信能得出这种结论。
 
个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 

回复

76

帖子

0

TA的资源

一粒金砂(中级)

7
 
看了PIC32的数据手册和参考文档,没有具体说中断向量的地址偏移量是怎么得来的
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(中级)

8
 
我是指这方面没什么可用信息,别断章取义
 
 
 

回复

7608

帖子

18

TA的资源

五彩晶圆(高级)

9
 
人家有告诉你偏移量。能纠结怎么来的,大学微机原理才真就白学了。
 
 
 

回复

7608

帖子

18

TA的资源

五彩晶圆(高级)

10
 
本帖最后由 freebsder 于 2018-2-13 00:04 编辑

大过年的也不怼你,告诉你你也好过个没有牵挂的年。
学过计算机原理的话应该知道一个道理:计算机不是科学,而是学科,既需要数学物理这样的基础科学,也需要工程和管理这样的学科和手段。如果这个道理不知道,“计算机”或者叫“微机”吧是什么没搞清楚,这就是说为什么纠结地址的偏移量是白学。
偏移量只是实现的工程手段,它不是科学它没有背后的科学原理支撑,这个实现没有任何倾向性,因此最多的是想知道一下设计考量。倾向性这个问题是所有设计的基础,而倾向性哪里来?成本,时间,效率,大小等等,所有这些工程和实现上的考量之后综合的出的某一个序,比如A优于B,A差于B,A和B无差异。
偏移量就是A和B无差异的情形,没有任何倾向性。不管从那个角度(成本,时间,效率,大小,操作性,易用性等等)来设计,一个特定外设的A寄存器在B寄存器前面还是后面,中断号在1还是2,并没有任何差异,(除非你故意实现它们要有差别),因为在一段地址空间里面所有的访问都是一致的。这又扯到内存访问特点和磁盘访问特点的明显差异,微机原理有学吗,内存是O(1)访问,常数,与介质无关,磁盘是O(n),n与介质,磁道,磁头距离等都相关。(跨不同总线情况的不讨论)。
正是因为有大量无倾向性情况的存在,因此计算机组成和原理里面又有一个叫“约定”,遵循“约定”的多了,就进化成了“规定”。咱弄个组织,“规定”的东西只要玩这行的都必须得遵循,那TM就是“标准”。
如果还没有明白倾向性,那么简单举三个例子:1、big ending 和 little ending,只是选择和表达的不同,没有任何实质性差异,厂家自己规定了也就定了(寄存器地址偏移量就是这样);2、magic number,幻数怎么取,随你愿意,反正你说了算;3、C里面int x, int y 和 int y, int x 这样的定义序列,x,y自身的先后没有实质意义,谁先谁后你说了算。

所以,从计算机组成和原理中,应该学到三个东西:工程,倾向性,规定。

点评

没用过pic所以无语,harmony更不知所措,看到阁下论述更是蒙b也  详情 回复 发表于 2018-2-13 00:14
 
个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 

回复

4008

帖子

0

TA的资源

版主

11
 
本帖最后由 huo_hu 于 2018-2-13 00:15 编辑
freebsder 发表于 2018-2-12 23:37
大过年的也不怼你,告诉你你也好过个没有牵挂的年。
学过计算机原理的话应该知道一个道理:计算机不是科学 ...

没用过pic所以无语,harmony更不知所措,看到阁下论述蒙b也
 
 
 

回复

721

帖子

1

TA的资源

一粒金砂(高级)

12
 
用plib应该也可以吧
 
 
 

回复

6

帖子

0

TA的资源

一粒金砂(中级)

13
 
harmony是很实用的工具,可以直接配置需要的外设和中断等,自动生成代码,再加入自己的代码就可以了。
完全自己搞就要仔细看应用手册了。
所有的中断向量已经在头文件中定义好了,在C:\Program Files (x86)\Microchip\xc32\v2.05\pic32mx\include\proc中, 中断函数如下:
void __ISR(_UART2_TX_VECTOR, ipl3AUTO) _IntHandlerDrvUsartTransmitInstance0(void)
{
    DRV_USART_TasksTransmit(sysObj.drvUsart0);
}
void __ISR(_UART2_RX_VECTOR, ipl3AUTO) _IntHandlerDrvUsartReceiveInstance0(void)
{
    DRV_USART_TasksReceive(sysObj.drvUsart0);
}
void __ISR(_UART2_FAULT_VECTOR, ipl3AUTO) _IntHandlerDrvUsartErrorInstance0(void)
{
    DRV_USART_TasksError(sysObj.drvUsart0);
}
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(中级)

14
 
哈哈哈,可以结贴了。前段一直忙导师给的任务,然后有天回家敲PIC32的代码,突然想到把所有中断服务代码单独写到一个C文件里面,取名就叫interrupt.C,然后发现,不需要配置什么中断向量偏移地址,同时开了四个中断进行了验证,都跑的好好的。PIC3就打算自己写代码了,完全不用那个harmony。哈哈哈哈哈哈哈!!!
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(中级)

15
 
另外,导师那边有个师兄带我,用的STM32,他们全部用的固件库,而我一直以来都是直接读写寄存器,固件库我完全是一脸茫然。然后看文档,找资料,我把师兄给的例程,逐步的全部改成了寄存器读写的方式。
 
 
 

回复

257

帖子

0

TA的资源

一粒金砂(高级)

16
 
Microchip 的harmony用还是好用,不过用过1.08之前版本,还是有些问题,并且,IDE 也耗资源,常卡着;
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

17
 
asdmaill 发表于 2018-6-12 14:05 另外,导师那边有个师兄带我,用的STM32,他们全部用的固件库,而我一直以来都是直接读写寄存器,固件库我 ...

说实话STM32固件库用起来比较爽,PIC我也刚看,最好还是用库函数,效率高移植块

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表