第一篇:2020网课学习心得笔记最新
学习作为一种获取知识交流情感的方式,已经成为人们日常生活中不可缺少的一项重要内容,尤其是在二十一世纪这个知识经济时代,自主学习已是人们不断满足自身需要、充实原有知识结构,获取有价值的信息,并取得成功的法宝。下面给大家分享2020网课学习心得笔记最新大全.欢迎阅读!
网课学习心得笔记【1】
网络学习还是个新生事物,如同罩着一层神秘的面纱,使不少人望而却步,不知自己是否能够适应这种全新的学习模式。随着家用电脑的普及,网络学习愈来愈呈现出其特有的优势。学习资源丰富,学习时间灵活,其教学资源亦日趋成熟。网络不只是新新人类的宠儿,而已演变成为大众的学习媒介。
本人于_年春季参加网院的英语学习,迄今已一年有余,并荣获了网院_优秀学员称号,对网络学习有了一定的了解。北外网院为学生提供了非常全面的学习的平台,每一位学员都可以根据自身要求,有选择的利用其中的部分资源,便可以顺利完成学业。
本人在网院学习期间能够按照网院的要求进行网络学习,积极参加面授辅导课,认真听讲,作笔记,在课堂上与同学进行充分交流。每次面授辅导之前基本做完两个单元的学习任务,做到有备而来。每天登录平台学习网络课件,做到听读互换。每学完一个单元,便及时填写学习记录卡,对一个单元的学习进行即时的检验。认真完成作业并按时提交,这也是回顾已学知识点的很好的途径。经常上网浏览网院通知,掌握网院动态。登录学习论坛,浏览与所学课程有关的帖子,汲取所需。
此外,本人每学期初都会按照成功指南提供的学习策略做一个大概的学习计划,所有的学习活动尽量按计划进行。偶有调整,但是并不影响整个学习情况。本人认为网络学习与课堂学习的区别在于自我约束和自我管理,网院已经为网络学员提供了充分的学习策略和学习资源,只要按照网院要求,根据自己所需善加利用,必能收到良好的学习效果。
网课学习心得笔记【2】
步入大学生活三年以来,本学期课程是我第一次以网课的形式进行。每个有课的日子里我都会在各个教学软件穿梭忙碌。这种上课形式是新奇的、是特别的,但究其本质是一场自律同诱惑的战斗。在课上我们要切忌因为老师看不到自己上课的状态就懈怠并放纵自己。网课是一种相对自主的学习方式,我们应立刻从假期的悠闲状态中调整过来,学会主动学习、高效学习以适应新的上课形式。学好专业课,多了解本专业的具体内容不应仅限于课堂授课,在线上听课的我们也要做到以上的基本内容,除此之外网络学习空间也相当丰富,我们也可以通过网络平台扩充自己的知识,拓展自己的思维,做一名合格优秀的“云学生”。
网课学习心得笔记【3】
当一场疫情的风雨席卷全国,我们看到了无数英勇逆行的身影,他们担负起时代的重任,守护人民的岁月静好。而今正值战役斗争的紧要关头,为贯彻“延期不延教,停课不停学”的方针政策,我校特开启了网络教学活动。
随着学校线上教学的开展,作为黑大学子的我也深有感触。线上教学作为一种新型上课形式,学习环境相对宽松,对于学生个人的自制力的要求很高。但就教学效果来看,我觉得课程讲解得很清楚,在老师的精心准备下,我们能够尽快适应这种特别的上课形式。另外,线上教学突破了时间空间上的限制,给同学们提供了一种更为简便的上课形式,节省了同学们的课余时间,可以有多种更为丰富的选择。
最后,我想说,线上课程固然给我很多学习上的帮助,还是希望疫情可以早一些结束。待云开疫散,丁香花繁,你我相遇黑大校园,再谱新篇。
网课学习心得笔记【4】
随着社会的进步,电子时代的迅速发展,渴望求知的人是越来越多,然而网络教育给了我们一个大好时机——再次重返校园。尤其对于在职人员来说,远程教育的到来,为我们提供了新的人生起点。迎来了新的教育方式,让我们随时随地不受地区、时间与空间的限制,更快捷、方便地接受更多的新知识,寻找属于自己的人生目标,实现人生价值。
自离开校园参加工作后,我心中曾经有一个愿望就是能再一次重返校园进行学习。因为人生在世,没有经历过最努力、最艰辛的拼搏,就不会尝到在生活中奋斗的快乐。想要在事业上取得成功,那就必须用更多的知识充实自己的头脑。对于在职人员来说,工作与时间不充许我们这样去做。但是可喜的是,21世纪的网络时代给了我们求知的希望,找到了求学之路——奥鹏远程教育。也让我重新找到了人生的新里程。有了这样好的机会,我们何尝不去把握呢?这次,我是不会放过这千载难逢的好机遇,机遇是来了,最为重要的是把握,如果没有付诸实际的行动,只有一个好的机会,再好的机遇也是纸上谈兵。
去年的一个很偶尔的机会,我在网上不经意间查到了奥鹏远程教育。此时心中求知的愿望已经萌发,充满着新的希望。此时此刻有谁能体会到我的快乐呢!这种快乐,就好比沙漠上迷失很久的行路人,终于找到了解渴的水源一样欣喜若狂。
说起远程网络教育,我也是第一次接触,它给我的感觉是新颖、好奇。或许就是这种好奇心,像一个强大的磁场,使我对网络学习产生很大的乐趣。
经过一番努力,第一学期的网络学习我很快顺利地完成了,这更是让我在学习上信心百倍。有了目标,有了希望,有了动力,有了冲劲,有了恒心,有了毅力,我才有信心把网络学习搞好。我白天努力工作,晚上抽空刻苦学习。我的付出,得到了可喜的回报!我从内心为自己感到骄傲。在这段短暂的网络学习中,我得到了榆林奥鹏学习中心的老师与北京奥鹏远程教育中心老师的谆谆教导,还有与我共同努力学习的校友们的帮助,我很感谢他们,给了我学习上的动力,更给了我无微不至的关怀。让我在网络学习中感觉到了人生从未有过的快乐与欣喜。
网课学习心得笔记【5】
虽然我学习网络课程的时间不长,但课程内容已经深深吸引了我。通过网络学院平台,结合个人工作情况及需要,有针对性地学习了一些课程,全面提升了我的工作能力和为人处事的能力。
一、课程新颖,生动有趣
网络学院将知识以生动有趣的形式展现给我们,让我们轻松掌握知识点,同时,网络学院课程更新及时,根据岗位和业务的需要,必修重点与岗位需要紧密相连,让我们及时接收新的理论知识,巩固知识点。
二、课程安排重点突出
在网络信息化的今天,网络课程节约了很多时间及人工成本,让我们学习更加自由,时间安排更加灵活。同时由于工作岗位较固定,对于岗位以外的其他业务了解太少,是网络学院拓宽了我的知识面,让我更全面地了解银行各个业务环节。
三、课程内容全面人性化
课程多引用案例分析等,从正面成功案例正确引导大家,激励着我们;从失败案例让我们吸取经验教训,鞭策着我们;从心里分析为我们排忧解惑,让我们时刻保持轻松的状态;从养生讲座为我们讲解各种身体保养的秘诀,从育儿教育讲座中让职场妈妈工作家庭两不误。
四、课程吸引力大
课程的全面及新颖始终吸引着我们,让我们对网络学院的课程充满了期待。祝愿我行的网络学院平台越办越好,我会好好利用这个学习的平台,掌握更多的知识,充实自己,以更加饱满的精神状态面对工作!
第二篇:STM32学习心得笔记
STM32学习心得笔记
时钟篇
在STM32中,有五个时钟源,为HSI、HSE、LSI、LSE、PLL。
①、HSI是高速内部时钟,RC振荡器,频率为8MHz。
②、HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHz~16MHz。
③、LSI是低速内部时钟,RC振荡器,频率为40kHz。
④、LSE是低速外部时钟,接频率为32.768kHz的石英晶体。
⑤、PLL为锁相环倍频 输出,其时钟 输入 源可选择为HSI/
2、HSE或者HSE/2。倍频可选择为2~16倍,但是其输出频率最大不得超过72MHz。
其中40kHz的LSI供独立看门狗IWDG使用,另外它还可以被选择为实时时钟RTC的时钟源。另外,实时时钟RTC的时钟源还可以选择LSE,或者是HSE的128分频。RTC的时钟源通过RTCSEL[1:0]来选择。
STM32中有一个全速 功能 的 USB 模块,其串行 接口 引擎需要一个频率为48MHz的时钟源。该时钟源只能
从PLL输出端获取,可以选择为1.5分频或者1分频,也就是,当需要使用USB模块时,PLL必须使能,并且时钟频率配置为48MHz或72MHz。
另外,STM32还可以选择一个时钟 信号 输出到MCO脚(PA8)上,可以选择为PLL输出的2分频、HSI、HSE、或者 系统 时钟。
系统时钟SYSCLK,它是供STM32中绝大部分部件工作的时钟源。系统时钟可选择为PLL输出、HSI或者HSE。系统时钟最
大频率为72MHz,它通过AHB分频器分频后送给各模块使用,AHB分频器可选择1、2、4、8、16、64、128、256、512分
频。其中AHB分频器输出的时钟送给5大模块使用:
①、送给AHB 总线、内核、内存和DMA使用的HCLK时钟。
②、通过8分频后送给Cortex的系统 定时器 时钟。
③、直接送给Cortex的空闲运行时钟FCLK。
④、送给APB1分频器。APB1分频器可选择1、2、4、8、16分频,其输出一路供APB1外设使用(PCLK1,最大频率36MHz),另一路送给定时器(Timer)2、3、4倍频器使用。该倍频器可选择1或者2倍频,时钟输出供定时器2、3、4使用。
⑤、送给APB2分频器。APB2分频器可选择1、2、4、8、16分频,其输出一路供APB2外设使用(PCLK2,最大频率72MHz),另一路送给定时器(Timer)1倍频器使用。该倍频器可选择1或者2倍频,时钟输出供定时器1使用。另外,APB2分频器还有
一路输出供ADC分频器使用,分频后送给ADC模块使用。ADC分频器可选择为2、4、6、8分频。
在以上的时钟输出中,有很多是带使能控制的,例如AHB总线时钟、内核时钟、各种APB1外设、APB2外设等等。当需要使
用某模块时,记得一定要先使能对应的时钟。
需要注意的是定时器的倍频器,当APB的分频为1时,它的倍频值为1,否则它的倍频值就为2。
连接在APB1(低速外设)上的 设备 有: 电源 接口、备份接口、CAN、USB、I2C1、I2C2、UART2、UART3、SPI2、窗口看门狗、Timer2、Timer3、Timer4。注意USB模块虽然需要一个单独的48MHz时钟信号,但它应该不是供USB模块工作的时钟,而只
是提供给串行接口引擎(SIE)使用的时钟。USB模块工作的时钟应该是由APB1提供的。
连接在APB2(高速外设)上的设备有:UART1、SPI1、Timer1、ADC1、ADC2、所有普通IO口(PA~PE)、第二功能IO口。
下图是STM32用户手册中的时钟系统结构图,通过该图可以从总体上掌握STM32的时钟系统。
管脚篇
我们操作STM32过程中对管脚的操作是比较频繁的工作之一,我们一般用提供的封装库来进行操作,因为它直观方便。我们常用的有:
GPIO_SetBits();GPIO_Writebit();GPIO_ResetBits();GPIO_ReadInputBit();GPIO_ReadOutputBit();等等
它们具体怎么操作的我们是不用管的给我们一个接口就足够了,但是想学好STM32下一步最好使用它的原子操作,下面我们先学习一
下关于管脚端口的一些寄存器。由于上述命令操作是调用的一些函数故可能在调用的过程中可能被中断所打断产和 想不到的后果
但是如果调用寄存器函可以在一个时钟周期内完成,所以在一些关键的场合要使用对原子的直接访问。要用到的寄存器有置位复位
寄存器GPIOx_BSRR和复位寄存器GPIOx_BRR,后者是前者的一个子功能,GPIOx_BSRR包括置和复位二功功能高16位是复位功能低16位
是置位功能,高16位中对应位置1表示要复位这一管脚其它写入0的位不改变原有的电平,而低16位置1是真的要使其位输出置1。
对于GPIOx_BRR寄存器写入对应位1时表示要复位输出这一管脚,复位时用哪个寄存器随你便好了,但是要使其置1时只能使用GPIOx_BSRR 了。说到这里你可能要说了:GPIOx_ODR不可以嘛?是真的可以,但是这里的输出0和1都是要反映到管脚是的,对于我们仅需要操作1个
管脚时还要兼顾其它不需要改变的PIN,所以我们最好不要用这个寄存器来进行直接的操作。常用的几个寄存器:
上面的二个寄存器是设置寄存器的是输入还是输出,输入中包括模拟输入、上拉/下拉输入、还是悬空输入。输出包括:
推挽输出、开漏输出、复用推挽输出、复用开漏输出。这个一个在程序初始化时要做的工作,利用封装的函数还是挺好的
这点要是利用寄存器操作就划不来了。
读取端口管脚就是读取
ch = GPIOx->IDR;就是这么简单。
就是把一个16位的管脚值送给这个寄存器如: GPIOx->ODR=ch,如果中改变其中一管脚原来的不变,置1时没有问题可以这样做
GPIOx->ODR |=1< 到目的。用GPIOx->BRR=0x00008000方便些。前面的0x00008000只第15脚而已。 下面贴出复位/置位寄存器和复位寄存器来不说了。 下面通过宏定方,使控制GPIO来的更加方便 #define BITBAND(addr bitnum)((addr & 0xF0000000)+0x2000000+((addr&0xFFFFF)<<5)+(bitnum<<2)) #define MEM_ADDR(addr)*((volatile unsigned long *)(addr)) #define BIT_ADDR(addr bitnum)MEM_ADDR(BITBAND(addr bitnum))//IO #define GPIOA_ODR_Addr(GPIOA_BASE+12)//0x4001080C #define GPIOB_ODR_Addr(GPIOB_BASE+12)//0x40010C0C #define GPIOC_ODR_Addr(GPIOC_BASE+12)//0x4001100C #define GPIOD_ODR_Addr(GPIOD_BASE+12)//0x4001140C #define GPIOE_ODR_Addr(GPIOE_BASE+12)//0x4001180C #define GPIOF_ODR_Addr(GPIOF_BASE+12)//0x40011A0C #define GPIOG_ODR_Addr(GPIOG_BASE+12)//0x40011E0C #define GPIOA_IDR_Addr(GPIOA_BASE+8)//0x40010808 #define GPIOB_IDR_Addr(GPIOB_BASE+8)//0x40010C08 #define GPIOC_IDR_Addr(GPIOC_BASE+8)//0x40011008 #define GPIOD_IDR_Addr(GPIOD_BASE+8)//0x40011408 #define GPIOE_IDR_Addr(GPIOE_BASE+8)//0x40011808 #define GPIOF_IDR_Addr(GPIOF_BASE+8)//0x40011A08 #define GPIOG_IDR_Addr(GPIOG_BASE+8)//0x40011E08 //IO IO!//n 16!#define PAout(n)BIT_ADDR(GPIOA_ODR_Addrn)// #define PAin(n)BIT_ADDR(GPIOA_IDR_Addrn)// #define PBout(n)BIT_ADDR(GPIOB_ODR_Addrn)// #define PBin(n)BIT_ADDR(GPIOB_IDR_Addrn)// #define PCout(n)BIT_ADDR(GPIOC_ODR_Addrn)// #define PCin(n)BIT_ADDR(GPIOC_IDR_Addrn)// #define PDout(n)BIT_ADDR(GPIOD_ODR_Addrn)// #define PDin(n)BIT_ADDR(GPIOD_IDR_Addrn)// #define PEout(n)BIT_ADDR(GPIOE_ODR_Addrn)// #define PEin(n)BIT_ADDR(GPIOE_IDR_Addrn)// #define PFout(n)BIT_ADDR(GPIOF_ODR_Addrn)// #define PFin(n)BIT_ADDR(GPIOF_IDR_Addrn)// #define PGout(n)BIT_ADDR(GPIOG_ODR_Addrn)// #define PGin(n)BIT_ADDR(GPIOG_IDR_Addrn)// #define led0=PAout(8) 使用时可以 led0=0;或者 led0=1;像不像51中的控制。这样led0就可以像51系统中那样控制某一管脚的高低了,是不是很方便。这是比前面的应用 的方便性上更加进了一步,只是前面要做一些提前的预备工作了。 中断和核心的系统控制部分 typedef struct { vuc32 CPUID;//CM3 vu32 ICSR;// vu32 VTOR;// vu32 AIRCR;// vu32 SCR;// vu32 CCR;// vu32 SHPR[3];// vu32 SHCSR;// Handler vu32 CFSR;//MFSR+BFSR+UFSR vu32 HFSR;// fault vu32 DFSR;// fault vu32 MMFAR;// vu32 BFAR;// fault vu32 AFSR;// fault } SCB_TypeDef; 全局中断禁止和允许 在51系统中都有全局中断允许/禁止位,那在Cortex-M3中这个位在哪呢? 这的水很深,请看在Core_m3.h中有 static __INLINE void __enable_irq(){ __ASM volatile(“cpsie i”);} static __INLINE void __disable_irq(){ __ASM volatile(“cpsid i”);} static __INLINE void __enable_fault_irq(){ __ASM volatile(“cpsie f”);} static __INLINE void __disable_fault_irq(){ __ASM volatile(“cpsid f”);} static __INLINE void __NOP(){ __ASM volatile(“nop”);} static __INLINE void __WFI(){ __ASM volatile(“wfi”);} static __INLINE void __WFE(){ __ASM volatile(“wfe”);} static __INLINE void __SEV(){ __ASM volatile(“sev”);} static __INLINE void __ISB(){ __ASM volatile(“isb”);} static __INLINE void __DSB(){ __ASM volatile(“dsb”);} static __INLINE void __DMB(){ __ASM volatile(“dmb”);} static __INLINE void __CLREX(){ __ASM volatile(“clrex”);} 使用前二条__enable_irq();__disable_irq()就可以打开和关闭所有的中断了,这是在库版本在V3.0以上的情况。而对于V2.0则要用 NVIC_SETFAULTMASK(); //关闭总中断 NVIC_RESETFAULTMASK();//开放总中断 来实现了。 DSP学习心得笔记 ----------------白建成.baijc.icekoor 建立新工程过程中: 问题1: “GPIO_Study.c”, line 61: fatal error: could not open source file “DSP280x_Device.h” 1 fatal error detected in the compilation of “GPIO_Study.c”.解决方法: 因为project build optionscompilerpreprocessor中,要包含的头文件的地址没有加进去,你可以找到头文件的地址,然后加进去。 问题2: undefined first referenced symbol in file--------- ----------------_c_int00 D:DSP studytest3DebugDSP280x_CodeStartBranch.obj FS$$MPY D:DSP studytest3DebugDSP280x_CpuTimers.obj FS$$TOL D:DSP studytest3DebugDSP280x_CpuTimers.obj >> error: symbol referencing errors'./Debug/GPIO_Study.out' not built 解决办法都是下面: 这个问题是因为没有加在库文件,请在project build optionslinkerlibraries中加入rts2800.lib。 问题3: >> warning: creating.stack section with default size of 400(hex)words.Use -stack option to change the default size.>> error: can't allocate.stack, size 00000400(page 1)in RAMM1(avail: 00000380)>> error: errors in input-./Debug/GPIO_Study.out not built 解决办法: 这个问题是关于堆栈存储大小的问题,他是说,创建堆栈段使用与设置400个字,并建议在“堆栈操作”中改变这个与设置。这时,需要进行如下修改就可通过:project build optionsLinkerbasic,在Stack Size(-stack):填入800或者其他小于1024的数值。 调试程序: 在编译完成之后,要来下载程序并进行功能调试。FileLoad Program,在工程文件夹下面的Debug文件夹下,选中**.out文件,点击打开,便开始下载程序了。将**.out文件下载到目标板上2812的RAM中。 注意,这里是调试,所以将程序下载到RAM。等到最后您要固化程序的时候,就得下载到FLASH了,因为断电之后,RAM里面所有的数据都会消失。 (Run和Animate的区别,Run是如果遇到断点的话它就停下来了。而Animate就算遇到断点时先停止DSP内核,刷新窗口,然后接着继续启动运行,常用来连续刷新变量窗口和生成graph图形等)——知识储备。 添加断点: 加上断点的方法很简单,只要在该行代码前双击就行。双击之后,这行代码前面会出现一个红色圆块。另外一种添加断点的方法,就是在刚才的编译工具栏上,点一下那个小手图形的按钮,前提是你要把光标移动到想要设置断点的哪一行上。 使用watch window: Watch window的作用是来观察程序运行过程中的各个变量的值。调用watch window的方法是点击菜单栏的“View ”,“watch window”,这时watch window就会显示在CCS下方的信息区域; 选中所要观察的变量,然后右键,在右键菜单中选择add to watch window。 调试代码观察: 我们在调试程序的时候经常想让程序从Main函数开使运行,点DebugGo main。既能看到源文件中代码的执行情况,又能看到汇编指令的执行情况ViewMixed Source/Asm; 关于F2812中用C语言来实现中断的说明 1.首先在.cmd中定位系统中断表: MEMORY { PAGE 0 : ......................................PAGE 1 : ......................................PIE_VECT : origin = 0x000D00, length = 0x000100......................................} SECTIONS {...................................PieVectTable : > PIE_VECT,PAGE = 1.....................................} 2.在C中制定该中断的结构体: #pragma DATA_SECTION(PieVectTable,“PieVectTable”);struct PIE_VECT_TABLE PieVectTable;(在DSP28_GlobalVariableDefs.C中初始化)3.用一组常数(按照中断向量的顺序)初始化该名字为PIE_VECT_TABLE的表: typedef interrupt void(*PINT)(void);这里有些一问,一下应该为函数名?? // Define Vector Table: struct PIE_VECT_TABLE { // Reset is never fetched from this table.// It will always be fetched from 0x3FFFC0 in either // boot ROM or XINTF Zone 7 depending on the state of // the XMP/MC input signal.On the F2810 it is always // fetched from boot ROM.PINT PIE1_RESERVED; PINT PIE2_RESERVED; PINT PIE3_RESERVED; PINT PIE4_RESERVED; PINT PIE5_RESERVED; PINT PIE6_RESERVED; PINT PIE7_RESERVED; PINT PIE8_RESERVED; PINT PIE9_RESERVED; PINT PIE10_RESERVED; PINT PIE11_RESERVED; PINT PIE12_RESERVED; PINT PIE13_RESERVED; // Non-Peripheral Interrupts: PINT XINT13; // XINT13 PINT TINT2; // CPU-Timer2 PINT DATALOG; // Datalogging interrupt PINT RTOSINT; // RTOS interrupt PINT EMUINT; // Emulation interrupt PINT XNMI; // Non-maskable interrupt PINT ILLEGAL; // Illegal operation TRAP PINT USER0; // User Defined trap 0 PINT USER1; // User Defined trap 1 PINT USER2; // User Defined trap 2 PINT USER3; // User Defined trap 3 PINT USER4; // User Defined trap 4 PINT USER5; // User Defined trap 5 PINT USER6; // User Defined trap 6 PINT USER7; // User Defined trap 7 PINT USER8; // User Defined trap 8 PINT USER9; // User Defined trap 9 PINT USER10; // User Defined trap 10 PINT USER11; // User Defined trap 11 // Group 1 PIE Peripheral Vectors: PINT PDPINTA; // EV-A PINT PDPINTB; // EV-B PINT rsvd1_3; PINT XINT1; PINT XINT2; PINT ADCINT; // ADC PINT TINT0; // Timer 0 PINT WAKEINT; // WD ..........................// Group 12 PIE Peripheral Vectors: PINT rsvd12_1; PINT rsvd12_2; PINT rsvd12_3; PINT rsvd12_4; PINT rsvd12_5; PINT rsvd12_6; PINT rsvd12_7; PINT rsvd12_8;};然后在使我们在.cmd文件中定义的表有以上属性: extern struct PIE_VECT_TABLE PieVectTable;(在.h文件中)4.初始化该表(在.c文件中)使之能够为主程序所使用: const struct PIE_VECT_TABLE PieVectTableInit = { PIE_RESERVED, // Reserved space PIE_RESERVED,PIE_RESERVED,PIE_RESERVED,PIE_RESERVED,PIE_RESERVED,PIE_RESERVED,PIE_RESERVED,PIE_RESERVED,PIE_RESERVED,PIE_RESERVED,PIE_RESERVED,PIE_RESERVED,// Non-Peripheral Interrupts INT13_ISR,// XINT13 or CPU-Timer 1 INT14_ISR,// CPU-Timer2 DATALOG_ISR,// Datalogging interrupt RTOSINT_ISR,// RTOS interrupt EMUINT_ISR,// Emulation interrupt NMI_ISR,// Non-maskable interrupt ILLEGAL_ISR,// Illegal operation TRAP USER0_ISR,// User Defined trap 0 USER1_ISR,// User Defined trap 1 USER2_ISR,// User Defined trap 2 USER3_ISR,// User Defined trap 3 USER4_ISR,// User Defined trap 4 USER5_ISR,// User Defined trap 5 USER6_ISR,// User Defined trap 6 USER7_ISR,// User Defined trap 7 USER8_ISR,// User Defined trap 8 USER9_ISR,// User Defined trap 9 USER10_ISR,// User Defined trap 10 USER11_ISR,// User Defined trap 11 // Group 1 PIE Vectors PDPINTA_ISR,// EV-A PDPINTB_ISR,// EV-B rsvd_ISR,XINT1_ISR,XINT2_ISR,ADCINT_ISR,// ADC TINT0_ISR,// Timer 0 WAKEINT_ISR,// WD..........................// Group 12 E Vectors rsvd_ISR,rsvd_ISR,rsvd_ISR,rsvd_ISR,rsvd_ISR,rsvd_ISR,rsvd_ISR,rsvd_ISR,};//-------------// InitPieVectTable: //-------------// This function initializes the PIE vector table to a known state.// This function must be executed after boot time.// void InitPieVectTable(void){ int16 i;Uint32 *Source =(void *)&PieVectTableInit;Uint32 *Dest =(void *)&PieVectTable; EALLOW; for(i=0;i < 128;i++)*Dest++ = *Source++;EDIS; // Enable the PIE Vector Table PieCtrl.PIECRTL.bit.ENPIE = 1; } 5.中断服务程序: 让以上的数值指向你所要的服务程序,例如: PieVectTable.TINT2 = &ISRTimer2;那么,ISRTimer2也就成了中断服务程序,×××切记:一定要在主程序的开始先声明该程序: interrupt void ISRTimer2(void); ..........................然后按照您的需要编制该程序: interrupt void ISRTimer2(void){ CpuTimer2.InterruptCount++;} 编程中遇到的问题: 1、line 257: warning: last line of file ends without a newline; 解决方法: 点击出现的问题条,看光标定位在哪里,然后一点点删除,直到把编程的文字删除,最后把删除的写出来,回车就行了,因为回车的格式要在编辑状态哈哈! 28016的定时器笔记 学过2812的人会知道,2812的定时器和28016的定时器的寄存器很不一样。但是从功能上将差不多。 关于28016定时器的时钟的讨论; 定时器的时钟是由SYSCLKOUT经过TBCTL中的CLKDIV和HSPCLKDIV进行配置; 和 主要说明,我们应该记得SYSCLKOUT和HSPCLK之间还可以分频,但是在这里这个寄存器不影响。 关于28016定时器的时钟同步的讨论; 如果我们想使每个PWM模块具有同步时钟,我们可以通过软件强制各个模块之间同步,设定步骤如下: EPwm1Regs.TBCTL.bit.SYNCOSEL = 0 // Pass through EPwm2Regs.TBCTL.bit.SYNCOSEL = 0;// Pass through EPwm3Regs.TBCTL.bit.SYNCOSEL = 0;// Pass through EPwm1Regs.TBCTL.bit.SWFSYNC = 1; EPwm2Regs.TBCTL.bit.SWFSYNC = 1; EPwm3Regs.TBCTL.bit.SWFSYNC = 1;以上程序是设定PWM1/2/3同步,我们由于我们只采用向上计数,所以不需要设定计数方向位。 接下来如果我们想PWM1与PWM2输出相位不一样,保持某个相位差,我们可以通过寄存器设定; EPwm1Regs.TBCTL.bit.PHSEN = TB_ENABLE; EPwm2Regs.TBCTL.bit.PHSEN = TB_ENABLE; EPwm3Regs.TBCTL.bit.PHSEN = TB_ENABLE; EPwm1Regs.TBPHS.half.TBPHS = 0; EPwm2Regs.TBPHS.half.TBPHS = 250; EPwm3Regs.TBPHS.half.TBPHS = 500;首先使能,然后赋予值; 关于一些其他的配置如下: EPwm3Regs.TBPRD = PWM3_TIMER_TBPRD; EPwm3Regs.TBCTL.bit.CTRMODE = TB_COUNT_UP; // Count up EPwm3Regs.ETSEL.bit.INTSEL = ET_CTR_ZERO; // Enable INT on Zero event EPwm3Regs.ETSEL.bit.INTEN = PWM3_INT_ENABLE; // Enable INT EPwm3Regs.ETPS.bit.INTPRD = ET_1ST; // Generate INT on 3rd event 关于28016PWM配置的讨论 PWM1的A/B的独立配置; 除了counter-compare比较寄存器,CMPA,CMPB,主要还是配置控制寄存器CMPCTL,对于影子寄存器的配置,还有影子寄存器的装载模式。这里主要讲关于PWM中action qualifier的配置; 模式1: // Setup shadow register load on ZERO EPwm1Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW; EPwm1Regs.CMPCTL.bit.SHDWBMODE = CC_SHADOW; EPwm1Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO; EPwm1Regs.CMPCTL.bit.LOADBMODE = CC_CTR_ZERO; // Set Compare values EPwm1Regs.CMPA.half.CMPA = EPWM1_MIN_CMPA; // Set compare A value EPwm1Regs.CMPB = 500; // Set Compare B value // Set actions EPwm1Regs.AQCTLA.bit.ZRO = AQ_CLEAR; // Set PWM1A on Zero EPwm1Regs.AQCTLA.bit.CAU = AQ_SET; // Clear PWM1A on event A, up coun EPwm1Regs.AQCTLB.bit.ZRO = AQ_SET; // Set PWM1B on Zero EPwm1Regs.AQCTLB.bit.CBU = AQ_CLEAR; // Clear PWM1B on event B, up count // Interrupt where we will change the Compare Values EPwm1Regs.ETSEL.bit.INTSEL = ET_CTR_ZERO; // Select INT on Zero event EPwm1Regs.ETSEL.bit.INTEN = 1; // Enable INT EPwm1Regs.ETPS.bit.INTPRD = ET_3RD; // Generate INT on 3rd event 其中红色的为PWM的输出方式配置,当PWM1.A在counter==0时,输出为0,在counter==CMPA时,且在向上计数,输出为1;而PWM1.B相反。 模式二: // Set actions EPwm2Regs.AQCTLA.bit.PRD = AQ_CLEAR; // Clear PWM2A on Period EPwm2Regs.AQCTLA.bit.CAU = AQ_SET; // Set PWM2A on event A, up count EPwm2Regs.AQCTLB.bit.PRD = AQ_CLEAR; // Clear PWM2B on Period EPwm2Regs.AQCTLB.bit.CBU = AQ_SET; // Set PWM2B on event B, up count 其中红色的为PWM的输出方式配置,当PWM1.A在counter==period时,输出为0,在counter==CMPA时,且在向上计数,输出为1;而PWM1.B相同; 模式三: // Set Actions EPwm3Regs.AQCTLA.bit.CAU = AQ_SET; // Set PWM3A on event B, up count EPwm3Regs.AQCTLA.bit.CBU = AQ_CLEAR; // Clear PWM3A on event B, up count 其中红色的为PWM的输出方式配置,当PWM1.A在counter==CMPA时,输出为1,在counter==CMPB时,且在向上计数,输出为0,也就是计数在CMPA与CMPB之间时输出为1; 模式四: EPwm3Regs.AQCTLB.bit.ZRO = AQ_TOGGLE; // Toggle EPWM3B on Zero 此模式强制整个周期输出高或者输出地,与CMPA与CMPB无关,关于28016PWM死区时间配置的讨论 主要与死区有关的是三个寄存器: Dead-Band Generator Control Register(DBCTL); Dead-Band Generator Rising Edge Delay Register(DBRED); Dead-Band Generator Rising Edge Delay Register(DBRED)Field Descriptions; 首先清楚延时时间的计算 为:DBRED*TBCLK; 然后弄懂DBCTL就可以了。 注意理解下图: 弄懂3个控制位什么意思; OUT_MODE,POLSEL,IN_MODE 注意第二位,这位通常用在输入为同一个通道时,也就是IN_MODE=0X00/0X03时。简单看一些deadband的配置: EPwm1Regs.DBCTL.bit.OUT_MODE = DB_FULL_ENABLE;输出之前,输入上升沿下降沿都被延时; EPwm1Regs.DBCTL.bit.POLSEL = DB_ACTV_HI;没有取反过程; EPwm1Regs.DBCTL.bit.IN_MODE = DBA_ALL;输入全部为A,此为习惯性的配置; EPwm1Regs.DBRED = 1000;EPwm1Regs.DBFED = 500; 一周解决的为题: 我的sin()函数能够正常执行,cos()函数也能正常执行,但是当sin()计算完再计算cos(),仿真环境就会进入逻辑错误中断,请问怎么解决,是不是该重装CCS。 原因:之前一直把程序烧到RAM里,总是只能执行一个sin()和cos()函数,然后RAM的空间就不够了,由于也不会改RAM空间的大小,所以就把程序直接下到flash里面,结果就好了。 遇到CCS和仿真器连不上的问题;Error connecting to the target: Error 0x80000240/134 Fatal Error during: Initialization, OCS Unknown Error Sequence ID: 0 Error Code: 134 Error Class: 0x80000240 I/O Port = 240 解决办法: 我也试着解决这个问题,重装了一次,结果没有用。想着觉得是USB驱动的问题,然后就在设备管理器中,把USB的驱动删除了,有重新装了一遍,结果没问题了。原因应该是以前用的USB口安装的驱动,又被用于安装其他的驱动,结果以前的USB驱动不能用了。 专题讲座学习心得笔记 作者:胡华平创建时间:2012-10-01编号:100181309 我近期听了北京市教育学院汤丰林教授《自主发展取向的教师专业成长》的专题讲座。汤教授以《自主发展取向的教师专业成长》为题,通过一个个鲜活的案例、各种参与式体验与我们共同分享了他的人生体验,鲜活的实例、精辟的人生哲理,给了我强烈的震撼,从中受到很多的启发和感悟。 1.教师是专业成长与发展的主体。随着基础教育课程改革的不断深入,教师职能正发生着深刻的变化,研究教师教育教学实践已成为中小学日常教育工作中不可缺少的方面。为了更好地营造良好的心态,汤老师还主张要善于控制自己的注意力,这样就会产生任何自己想要的心境或感受!如果你要想成功或幸福,那么现在就即刻做出选择,将你的注意力集中在你的生命中美好而积极进取的一面,集中在你想要达成的目标上!教师成为教育研究的主体表明教师的研究意识、主体意识是教师专业化发展的重要支撑。 2.教师专业发展是一个连续的过程,它更多的是个人的责任,而不仅仅是学校教师发展计划的一般程序,教师不应是专业发展的“被动的接受器”;教师的专业发展是学校教师个人自愿、自觉的行动,它需要教师积极主动地参与,并尝试使用不同的方法,教师是自身发展的积极建构者。只有充分激发起教师专业发展的自觉性,才能使教师的成长由自发转向自觉,由个别转向群体。可以说没有一个优秀的教师是师范院校可以直接造就出来的,优秀教师都是在工作过程中成长起来的。 3.实践是教师发展的基础和生命。教师专业发展是在学校真实的教学情境这个现实土壤中成长的,对课堂教学的成功至关重要。教师专业化发展实际上就是要把教育问题的学术研究回置于鲜活的现实之中,使理论研究返回思想的故里。教师在实践中对教育意义的主动探求,将提升教师的教育责任感和理论思维能力,使教师对教育、学校乃至自身的存在与发展有更深入的理解,而这种不断加深的理解就是教师工作创新与教师获得发展的首要条件。 作为一小学教师,我们今天所从事的工作有着太多的责任和压力,面对这些必须要面对的责任或压力,要想营造一个良好的心态是非常重要的。当然,还要不断地学习、领会、感悟,不断充实自己的心灵,这样,人生的积淀就会很深,所面对的困惑也好,挫折也好,会以一颗平常心来应对!希望我们都能用快乐的心态面对每一天,提高生活的质量,快乐地生活,收获不平凡的人生! 师德学习讲座心得笔记 王集中学刘燕2008 今年我有幸参加师德学习培训,通过学习深有感触,下面就学习的体会说说。 转眼间,踏上讲台已经有十几年了,一路走来,有泪水,也有欢笑;有迷茫,也有收获。在此次培训中慢慢释然,找到了明确的答案。也让懵懂中的我知道了,师德是一种职业道德,它是教师和一切教育工作者在从事教育活动中必须遵守的道德规范和行为准则。教师的道德素质比教师的文化素质更为重要,教师的道德是教师的灵魂,师德是教师人格特征的直接体现。也是从培训中我知道了开展师德修养的重要性。 通过《中小学教师职业道德规范》专家的权威解读,我准确理解《中小学教师职业道德规范》,加深对教师这一职业的认识和领悟,提升职业道德素养,激发专业发展动力。通过《走在行知路上》师德报告的学习了解行知小学、行知基地和伟大的人民教育家陶行知先生的教育思想,以及行知中学班主任工作的三个“学会”,即学会联合、学会赏识、学会自信。使我进一步理解陶行知教育思想,并能够以三个“学会”为切入点在教育教学工作中践行陶行知教育思想。 通过《走进心灵,师德无痕》的师德报告,让我面对面地感受模范教师的人格魅力和教育理念,聆听了真实发生的德育案例和德育活动,学习模范教师的优秀德育方法,使我加深对教师这一职业的认识和领悟,提升职业道德素养,激发专业发展动力。 这些课程需要我们教师不仅停留在掌握知识的层面上,而且自觉、主动地将教育思想运用在日常教育教学工作中,将认识转化为行动。我认为要从以下几点做起、尊重、关爱每一位学生学生。每一位学生都渴望得到老师的理解和尊重。我们要与学生平等相待,不能把学生当下级随便呵斥。只有我们把学生看重了,学生得到老师的尊重了,他们才会尊重老师,用师爱铸就崇高的师魂。 2、爱岗敬业。首先,要热爱教育事业,要对教育事业尽心尽力。我们选择了教育事业,就要对自己的选择无怨无悔,不计名利,积极进取,努力创新。尽心尽责地完成每一项教学任务。 3、以身作则。教师的言行对学生的思想、行为和品质具有潜移默化的影响,教师的一言一行,这将给学生成长带来一生的影响。因此,凡要求学生要做到的,自己首先做到,坚持严于律己。 4、刻苦钻研业务。精通教学业务是教师之所以成为教师的关键。只有精通业务,才能将科学文化知识准确地传授给学生,而不至于误人子弟。 以上是我对师德修养的一些学习体会。我将坚持不断的学习,使自己能在不断更新的知识中汲取营养,能够把自己所学奉献给学生。 专题讲座学习笔记 王集中学刘燕2009 我近期听了《自主发展取向的教师专业成长》的专题讲座。汤教授以《自主发展取向的教师专业成长》为题,通过一个个鲜活的案例、各种参与式体验与我们共同分享了他的人生体验,鲜活的实例、精辟的人生哲理,给了我强烈的震撼,从中受到很多的启发和感悟。 1.教师是专业成长与发展的主体。随着基础教育课程改革的不断深入,教师职能正发生着深刻的变化,研究教师教育教学实践已成为中小学日常教育工作中不可缺少的方面。为了更好地营造良好的心态,汤老师还主张要善于控制自己的注意力,这样就会产生任何自己想要的心境或感受!如果你要想成功或幸福,那么现在就即刻做出选择,将你的注意力集中在你的生命中美好而积极进取的一面,集中在你想要达成的目标上!教师成为教育研究的主体表明教师的研究意识、主体意识是教师专业化发展的重要支撑。 2.教师专业发展是一个连续的过程,它更多的是个人的责任,而不仅仅是学校教师发展计划的一般程序,教师不应是专业发展的“被动的接受器”;教师的专业发展是学校教师个人自愿、自觉的行动,它需要教师积极主动地参与,并尝试使用不同的方法,教师是自身发展的积极建构者。只有充分激发起教师专业发展的自觉性,才能使教师的成长由自发转向自觉,由个别转向群体。可以说没有一个优秀的教师是师范院校可以直接造就出来的,优秀教师都是在工作过程中成长起来的。 3.实践是教师发展的基础和生命。教师专业发展是在学校真实的教学情境这个现实土壤中成长的,对课堂教学的成功至关重要。教师专业化发展实际上就是要把教育问题的学术研究回置于鲜活的现实之中,使理论研究返回思想的故里。教师在实践中对教育意义的主动探求,将提升教师的教育责任感和理论思维能力,使教师对教育、学校乃至自身的存在与发展有更深入的理解,而这种不断加深的理解就是教师工作创新与教师获得发展的首要条件。 作为一中学教师,我们今天所从事的工作有着太多的责任和压力,面对这些必须要面对的责任或压力,要想营造一个良好的心态是非常重要的。当然,还要不断地学习、领会、感悟,不断充实自己的心灵,这样,人生的积淀就会很深,所面对的困惑也好,挫折也好,会以一颗平常心来应对!希望我们都能用快乐的心态面对每一天,提高生活的质量,快乐地生活,收获不平凡的人生!第三篇:DSP学习心得笔记
第四篇:专题讲座学习心得笔记
第五篇:专题讲座学习心得笔记