黑马程序员_OC基础00_基本语法

---------------------------------------- android培训java培训、期待与您交流! -------------------------------------------


一、Xcode终端指令的使用(学会使用终端,熟记常用命令):

1、终端常用指令
1)新建文件:touch  **.m
2)打开文件:open  **.m
3)新建文件夹: mkdir  ***

2、运行过程
1)编写OC源文件:.m  .c 
2)编译文件: cc  -c  **.m  **.c
2)链接:cc  **.o  **.o
3)OC文件的链接(只要是用到Foundation框架才需要加上): cc  **.o  -framework Foundation 
4)运行:   ./a.out


二、OC入门基础普及
1、OC的头文件和源文件的扩展名为:.h 和 .m

2、#import <Foundation/NSObjCRuntime.h> :相当于C语言的#include 导入头文件
1)#import的用途:
A、和#include一样,拷贝文件内容 
B、可以自动防止文件的内 容被重复拷贝,也就意味着着头文件中不用加入下面的预处理指令了
2)Foundation等头文件在系统里面存放的的路径:
应用程序/Xcode(右击显示包内容)/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/System/Library/ Framework/Foundation.framework/Headers/NS**

3、ios常用框架简介:
UIKit.framework: ios 的核心框架
QuartzCore.framework : ios最强大的框架,封装了动画。跨平台的Mac和ios。可以做很多很酷很炫的效果
Foundation.framework :学习OC主要接触的框架
CoreLocatin.framework :用户定位相关的
CoreMedia.framework : 音频相关的
CoreGraphics.framework :专门画东西的

4、主头文件:要想使用整个框架的东西,只需要包含它的主头文件
如:UIKit.framework的主要头文件为-->UIKit.h
                Foundation.framework的主要头文件为-->Foundation.h

5、语法基础:
OC入门 ——编写代码步骤 - 604558817 - 程序媛COCO的博客

6、关键字都以@开头:
1)OC的关键字都以@开头
   2)字符串也是以@开头的

7、没有包名的概念(和Java的区别)
    在Java中,为了防止两个类名相同的类冲突,你可以将这2个类放在不同的包里面。OC中并没有"包"的概念,也就是没有命名空间机制,取而代之的是开发人员给类名加上前缀,使用前缀可以有效的防止类名冲突。比如NSString(OC中的字符串类)、NSArray(OC的数组类),它们的前缀都是NS

8、打印log:
NSObjCRuntime.h中有NSLog函数声明
NSLog(@"COCO第一个OC程序!!!!") ;  //NSLog输出内容自动换行

9、BOOL基本使用

1)  BOOL类型的本质:字符型

2)BOOL类型的变量有2种取值:YESNO

    #define YES (BOOL)1
#define NO  (BOOL)0

3)BOOL的输出(当做整数来用)

NSLog(@"%d %d", YES, NO);




-------------------------------------------  android培训java培训、期待与您交流!------------------------------------------
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: tim_oc1init和tim_oc2init是STM32的定时器模块中的函数,用于初始化定时器的输出比较通道1和通道2。其中,tim_oc1init用于初始化通道1,tim_oc2init用于初始化通道2。这两个函数可以设置定时器的输出模式、极性、预分频器等参数,以满足不同的应用需求。 ### 回答2: tim_oc1init和tim_oc2init是两个函数,是在STM32开发中使用的定时器输出比较功能函数。 首先,我们需要了解一下定时器和定时器输出比较的概念。定时器是一种可编程、周期性的计时器,它能够在一定时间内产生定时中断或输出PWM信号。而定时器输出比较是指定时器对比较值进行比较,当定时器计数器计数值达到比较值时,定时器输出会发生变化。 tim_oc1init和tim_oc2init是用于设定定时器输出比较功能的函数,以tim_oc1init函数为例,它的具体功能包括: 1. 设定TIMx_CH1的输出模式和极性,可以选择PWM模式或脉冲模式,并可设定输出极性为正常或反转; 2. 设定比较值,即当计数器的值达到此值时触发输出; 3. 设定预分频系数和重载值,确定计时器的计数范围。 通过tim_oc1init和tim_oc2init函数的设定,可以实现定时器输出比较功能,可以控制各种电子设备的输出信号和开关控制,适用于各种行业的应用场景。在开发中,根据具体需求使用不同的输出模式和比较值,可以实现多种不同的功能操作。 ### 回答3: tim_oc1init和tim_oc2init是针对定时器的两个初始化函数。 首先,定时器是嵌入式系统中非常重要的一个模块,它可以通过计时和计数等方式实现各种定时和计时功能,比如控制LED灯闪烁、通过定时触发中断来完成一些任务等。 而tim_oc1init和tim_oc2init则是针对定时器的输出比较功能而设置的两个初始化函数,用于配置定时器的输出比较通道1和通道2。 对于tim_oc1init而言,它可以设置如下几个参数:定时器的指针、比较输出模式、预分频系数、占空比等。其中,比较输出模式有四种模式可供选择,分别为TIM_OCMode_Timing(定时模式)、TIM_OCMode_Active(有效电平模式)、TIM_OCMode_Inactive(无效电平模式)和TIM_OCMode_PWM1(脉冲宽度调制模式)。 而tim_oc2init则是针对定时器的输出比较通道2进行初始化,可以设置的参数与tim_oc1init相同,只不过它是控制通道2的输出状态。 需要注意的是,这两个函数都是基于STM32的定时器模块设计的,因此在使用它们时需要根据硬件平台来确定具体的实现方法和参数设置。 总的来说,tim_oc1init和tim_oc2init是非常重要的定时器初始化函数,可以方便地控制定时器的输出比较通道,从而实现各种自定义的功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值