查看: 687|回复: 0

PIC读书笔记——学习总结

[复制链接]

该用户从未签到

发表于 2016-9-8 16:11:52 | 显示全部楼层 |阅读模式
分享到:
1:关于main函数
  在进入main函数之前,微控制器会执行连接器自动插入一个较短的初始化代码段。这个代码段又被称为c0码。c0码将实现基本的例行内务处理,包括微控制器栈的初始化以及其他事物。
  2:连接脚本
  连接器脚本(.gld)文件是用来告诉连接器内存的预定义位置(由设备数据表决定)和提供基本的内存空间信息,如内存的可用空间大小、RAM存储器的可用空间大小及其地址范围。
         3:GPIO初始化

  大部分的PORTB引脚与模数转换时复用的,在默认状态下,同“模拟”输入服用的引脚与“数字”输入端口是断开的。因此简单的只是设置TRISB与PORTB是不能控制数字端口B的。
  4:关于printf函数
  C30的编译器支持printf函数,但是一个简单的printf函数可能导致可执行文件增加几千字节的代码。慎用!!
  5:5V电压兼容
PIC24FJ系列是3VCMOS工艺的,要连接到5V设备很简单:
  a:为了驱动一个5V的输出信号,要使用ODCx控制寄存器将每一个输出引脚设置为开漏极模式,并连接外部上拉电阻到5V。
  b:数字输入引脚本身可以承受5V电压,可以直接连至5V输入信号(但是和模拟服用的引脚不能)。
1:延时函数
  初始化定时器然后使用函数:
  while(TMR1
  {
  //wait
  }
  2:更新初始化函数

  微控制器的控制寄存器只是简单的RAM记忆单元,可能一个电源波动,电磁脉冲等会改变它的内容(小概率),只要时间足够长就会发现。因此当设计一个在相当长时间内运行的应用时,用户应考虑到周期性的“更新”主要外围器件的控制寄存器。
1:++、--操作符很智能,如果变量类型是整数,那么就是加1或者减1。但是如果是指针变量,那么增量就是指针变量的字节数。例如,对于表示16位整型数的指针,增量就是2,对于表示32为长整型数指针,增量就是4.
  2:对于16位算数逻辑单元(ALU),对于32位的乘法实际上是通过执行16位数乘法运算和加法运算来实现的(复杂并且耗时)。
3:对于没有硬件浮点数单元(FPU)来说,对所有的浮点数操作都必须右边一起使用浮点算数运算库来编译处理,而算数运算哭的大小和复杂度比任何整数运算库都要大的多,因此使用浮点数就应考虑到性能的损失。
回复

使用道具 举报

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

本版积分规则

关闭

站长推荐上一条 /4 下一条

手机版|小黑屋|与非网

GMT+8, 2024-11-19 12:24 , Processed in 0.117431 second(s), 17 queries , MemCache On.

ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

苏公网安备 32059002001037号

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.