第一篇:2020网课期间学习心得笔记500字
心得就是工作或学习中的体验和领悟到的东西,亦可以称作心得体会。“心得体会”是一种日常应用文体,属于议论文的范畴。一般篇幅可长可短,结构比较简单。下面给大家分享2020网课期间学习心得笔记500字精选.欢迎阅读!
2020网课学习心得笔记【1】
新型冠状病毒感染的疫情来势汹汹,迎来了这段在线上紧张刻苦的学习。在线上老师们悉心的教导下,我学会了许多的知识,明白了许多的道理。虽然每天都很忙碌,但在学习上有了很大的提升,这就是有付出就有收获吧!
这些天从早到晚的学习,彻底改变了我刚放假时的好吃贪睡的不良习惯。每天清晨走出门,就可以拥抱从东方升起的一缕阳光,呼吸着带露珠芬芳气息的新鲜空气,清早的虫呜鸟叫,让我整个人都会觉得特别清醒。围着自家的院子跑上十圈,眼睛会不自觉的东看看,西瞅瞅,看向河对面的那一片茂密的树林,有时还会看见鸟儿在空中飞过。跑完步后再吃上一碗香喷喷的面条。曾听人说,早上吃面条能让人长命百岁呢!接下来就开始了晨读和默写,正所谓一年之计在于春,一日之计在于晨,往日的我总是错过了这样的时期,阅读是生命中的一部分,它能给我带来快乐,带来喜悦,丰富我们的大脑对知识的渴望。
老师们的课堂也十分有趣,女老师的声音非常甜美,男老师的声音严肃中带着温和。每节课都有着不同的风格和它的独特之处。数学课,每次老师上课前都会先把上节课的知识点预习一遍,正如温故而知新可以为师矣。语文不止单单讲课内的知识,也会涉及一些课外的知识点对应的讲解,让我们对这道题有更深层次的理解。英语呢,老师讲解的一篇篇课文,就像讲述着一册册故事一样,精美动听!
一点遗憾的就是不能在教室里学习。唉,就怪这突如其来的新型冠状病毒,让我们在这鼠年里,验证了像老鼠一样只能呆在家里,不能出门,真是不好受呀!不过我们也要注意疫情的防控,远离疫情区,千万不要为了一时的贪玩而染上这种病毒,这是非常不值得的。在这段时间里尽量不出门或少出门,勤洗手,戴口罩。
感谢所有老师这段时间对我们的教导与培养,老师,您们辛苦了!相信我们在新的一年里,能共同进步,健康成长,学习上能更上一层楼!
2020网课学习心得笔记【2】
网上教学是怎样的?相隔甚远的距离还能听见老师熟悉的声音吗?我满怀期待的开始了第一次网课。
“同学们上午好”。老师隔着口罩发出低沉的声音,开学第一天居然是以这种方式见面。老师陌生的课件从几米外的黑板上变成了近在眼前的图片,做笔记更全面了,学习更方便了。与老师的互动只有打字或发言,熟悉键盘的同学总是第一个回答,不少同学只能听着老师的声音默默点头,看来,学习是与时俱进的。
不到一个小时,我便早已坐不住了,玩儿一玩儿,揉揉眼睛。比平时放松多了,老师讲课的声音突然停下,安慰道:同学们加油啊,还有二十分钟。大家在家要自觉,专心听课。我随着老师的语句又一次走进课堂,几天的学习,让我专心致志,自觉认真,抵制了偷闲的欲望,做事更专心。
结束一天的课程,我感受很多:不同的老师传授了不同的方法,我在学习上会更高效。期待不一样的课。它的到来像春姑娘唤起了沉睡的小草生机勃勃地成长那样,唤起了我们学习的动力,唤起了我们规律的作息,唤起了我们满满的信心。
转眼间,两周过去了,我在家安心学习,学习的知识也越来越多了,我已不再留恋窗外的风景。在网上尝试了不一样的学习,使我受益匪浅。
还记得老师告诉我们,在家等待是为了春天时更好的遇见。网上教学让我放下浮躁的心,静静学习,等待春天。愿疫情不再扩散,网上课堂让在家的时间更充分,是疫情结束的推动剂。
我喜欢这样的网课,但我更期待坐在教室里和老师,同学们进行交流。
2020网课学习心得笔记【3】
2020年是一个不平凡的年,这一年是我在初中生活的第一个不同寻常的学期。
2019年的年末,湖北等地出现了一种新的疫情——新型冠状病毒,本以为它“悠哉悠哉”,想不到它竟“恐怖如斯”。2020年开年,全国各地便引起一阵又一阵“轩然大波”:工人停工,学生停学,湖北人有家不能回,村委主任紧张的“封村”等等。
在这样紧张的形势下,本以为我们的学业会就此耽搁,可是,我们的老师,他们不畏病毒的侵扰,纷纷来到学校,坐在电脑前面,不辞辛劳地为我们上课,我感受到了一种无声的力量。
网上课堂的到来,为昏昏欲睡的我们打了一支“强心针”。我们每天认真的听课、做笔记,老师们为了能够让我们更好的理解吸收,总是利用各种图片、配乐、小游戏,让我们的课堂妙趣横生。遇到难的知识点,他们总是一步一步慢慢的引导,细心地讲解,直到我们听懂为止。“春蚕到死丝方尽,蜡炬成灰泪始干”,我深切地体会到了老师对我们的谆谆教导和爱。虽然在课堂上我们不能得到人人都与老师交流的机会,但是老师教给我们的知识却在我们脑海中留下深深的印记。
当然,网上课堂也有一定的弊端,一些同学可能看到电脑、手机便不能控制自己,影响上课效率。但在这个特殊时期,我们更应该看到它的优势,它让我们真正做到了“停课不停学”!课堂开播已有两周多,从老师的授课中我获取了很多的知识和能力,更加认识到了学习的重要性。
在这里,我非常感谢网上课堂为我们这些莘莘学子,提供了有力的学习的平台。冬天已过去,春天终将到来,我们希望在春天来临的那一刻,病毒将不再存在,疫情能完全得到防控,还我们一个一尘不染的社会。我相信这一场战役,很快就会大获全胜。中国加油!
2020网课学习心得笔记【4】
“十,九,八,七,六……”越来越近,越来越近了。我坐在书桌旁,眼睛紧紧地盯着面前的电脑屏幕,焦急地等待着。还有五秒,还有五秒了!我的心怦怦直跳,期待着开始的那一刻。“五,四,三,二,一!”到了,到了!我激动的跳了起来,头上的耳机里响起了老师熟悉的声音,我的心久久不能平静,仿佛又回到了学校,又见到了老师那温柔的面庞……
今年受疫情影响,各地的学校都推迟了开学。然而疫情没有得到控制,学,肯定是开不了的,所以各学校便主张“停课不停学”,纷纷采取了网上授课的方式进行学习,这,便是网上课堂啦!各学校使用的上课工具各不相同,钉钉,课后网,哔哩哔哩,甚至还使用了QQ等聊天软件的直播功能,可谓是层次不穷,五花八门了。而在课程的多样性上,各学校也有不同的安排。就拿我们学校来说,除了语文数学之类的文化课,还有每天上午下午各30分钟的体育课,这样既可以保证同学们每天都有一定的运动量,也可以增强同学们的免疫力。
学习之初,我以为在电脑前只能聆听到老师对知识的传授,可没想到在网上课堂上老师与学生的互动性也是很强的。学生可以通过连麦与老师交流,老师也能使用视频向同学提问,师生之间真正做到了互动零距离。还记得有一次上数学课,有一道题我一直不大懂,正巧这时老师正在询问同学们懂了没有,我连忙回复老师说不大懂,老师便立刻与我连麦,又单独给我讲了一遍,使我茅塞顿开。
网上课堂是一种先进的教学模式,它可以让我们疫情期间宅在家但依然没有停止前行的脚步。不过有个别同学却以上课为由偷偷玩手机。这样不仅学不到知识,还会损害自己的身心健康。所以,在学习过程中,我们应该严格要求自己,做学习的主人,不做学习的奴隶。
同学们,今日之责任,不在他人,而全在我少年。让我们努力学习,练好本领,将来把我们的祖国建设得更富强,更美好!
2020网课学习心得笔记【5】
在今年寒假期间,在本该阖家欢乐的春节期间,中国却出现了一场新型冠状病毒的爆发。许多的医生,战士奔赴在一线展开救援,而我们这些学生也因此改变了上学的方式,实行了“停课不停学”的教学方式。
经过了一学期的网络课堂,先来说说网络课堂的好处吧。选择网络课堂,我们可以直接在自己家里面通过电视进入云端进行学习就行了,不用背着书包走半天路跑到教室去上学,这不仅节约了很多时间,而且更加增强了我们自主学习的能力,培养了我们自主学习的精神,让我们自己自觉学习,主动寻找问题,这与传统课堂比起来有所不同。而且,网络课堂使得我们主动抓住网上学习的资源,对资源进行充分的利用,更好地把握网络的资源。
当然了,每件事情都有利有弊,网络课堂也有些不好的地方。网络课堂不能与老师面对面的交流,使得我们不能够和老师畅谈学习过程中趣味的地方,不能和同学们面对面的交流,讨论问题。而且,网络课堂的自主要求性很高,很多学生自主学习能力不强,学习动机不大,就不会像传统课堂那样去认真学习,不会那么专心致志。当我们遇到了不懂的问题时,不能够得到老师的及时回答,等老师回答了后,我们有可能已经忘了当时的疑惑所在,这不利于我们更深层次地学习。
虽然网上上课有一点的缺点,但我在一定程度上也学到了一些为人处世的道理。网络课堂是比较新的教学方式,我们也在努力融入这种新型的学习方式中去。
第二篇:关于学生疫情期间网课学习笔记500字
网课是一种新兴的学习方式,它主要是为学习者提供以互联网为平台、内容包含视频、图片、文字互动等多种形式的系列学习教程。下面给大家分享关于学生疫情期间网课学习笔记500字.欢迎阅读!
网课学习笔记【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.实践是教师发展的基础和生命。教师专业发展是在学校真实的教学情境这个现实土壤中成长的,对课堂教学的成功至关重要。教师专业化发展实际上就是要把教育问题的学术研究回置于鲜活的现实之中,使理论研究返回思想的故里。教师在实践中对教育意义的主动探求,将提升教师的教育责任感和理论思维能力,使教师对教育、学校乃至自身的存在与发展有更深入的理解,而这种不断加深的理解就是教师工作创新与教师获得发展的首要条件。 作为一小学教师,我们今天所从事的工作有着太多的责任和压力,面对这些必须要面对的责任或压力,要想营造一个良好的心态是非常重要的。当然,还要不断地学习、领会、感悟,不断充实自己的心灵,这样,人生的积淀就会很深,所面对的困惑也好,挫折也好,会以一颗平常心来应对!希望我们都能用快乐的心态面对每一天,提高生活的质量,快乐地生活,收获不平凡的人生!第四篇:DSP学习心得笔记
第五篇:专题讲座学习心得笔记