stm32烧写程序usb
在别的论坛淘的,稍作修改不敢独享,感谢原创作者,,------------------------------------卫星接收机刷机攻略感谢后面多名网友的批评、指正!特作出如下补充说明:接收机后面是9针com口的山寨机,由于后来的山寨厂家很不规范,后面的com口只是个摆设,并不可以直接用3根导线实现连机,打开机箱,如果在主板上能找到max232芯片,则说明你的com口是真的;如果找不到,仔细观察后面接口位于主板上的标注,可使用ttl小板连机,个别机器在主板上还可以找到第二升级口的焊点,自己焊出几根线也一样可以外加ttl小板来连机;如果你的机器做工很好,里面有2MB的储存器,是老式的机器,铁壳的,里面带有max232芯片的,是可以直接用3根导线连机的,一、仔细观察自己的接收机 1、观察接收机背后的升级口是几根针?或几个孔?9针或9孔的机器不需要任何转换电路(刷机小板)可直接与电脑进行连接;3、4、5、6针的机器需要购买电平转换电路(刷机小板),因为电脑的电平信号与机器的电平信号不同,所以不能直接与之通讯,需要电平转换电路做中间的桥梁,一般有两种一种是“RS232转TTL”、另一种是“USB转TTL”,如果家里有台式电脑,并且后面有COM口(9针串口)的话,推荐购买“RS232转TTL”,这种小板不需要安装驱动,可直接与电脑连接,另一头连接接收机,价格便宜,这种小板采用的芯片一般为MAX232或MAX3232,如果购买的是MAX3232芯片的小板,还需要将小板上的vcc连接到接收机的vcc(+3.3v或+5v)上为小板供电,除此之外还可以将小板上的vcc和gnd用usb线接到电脑usb口的vcc和gnd为小板提供稳定的+5v供电;如果购买的是MAX232芯片,则只能使用usb线取来+5v供电给小板,不可以用接收机上的+3.3v,max232必须采用+5v供电;“USB转TTL”适合笔记本电脑用户,他们没有9针的com口,用usb转ttl还有一个好处就是不必外接供电,usb自带供电给小板,但使用“USB转TTL”小板需要安装pl2303驱动,将usb口变成com口,方可与接收机进行通讯,usb小板所采用的芯片一般为pl2303,以上是最常见的2种电平转换小板,可以在老式的手机数据线里找找有没有“MAX232”“MAX3232”“pl2303”这3个芯片…… 2、观察自己的接收机的主芯片是什么牌子及型号?常见的主芯片品牌有海尔、国芯、华亚等……海尔一般为Hi2023或Hi2023E……国芯一般有GX3001……等,不同的芯片要选择不同的刷机工具,例如海尔的芯片要使用“ABS_Flasher_V1.6”,国芯的芯片要使用“GxDownloaderIII 1.008”(英文界面)或“GxDownloaderIII 2.120”(中文界面)…… 补充:大家如果遇到“Hi2023”的海尔芯片,请看清楚下面一行写的是什么,如果下面一行写着“E0925”或“E09xx”等字样,在读取和烧写时应选择2023E,而不要选择2023!3、观察自己的接收机储存器是多大的?是1MB的还是2MB的?储存器是系统指令的载体,读取和烧写的.bin文件就是存储在此芯片内。
芯片是 MX25L8005M2C 的储存器,是1MB的(类似的还有 EN25F80、EN25T80 、M25P80、SST25LF080、F25L008、AT26DF081、W25P80 等)一般为小正方形共8个引脚(两边各4个);如果芯片是ATMEL AT45DB161B、MX29F200TTC、EN29LV160AB-70TCP 等,它的引脚超过20个(两边各超过10个以上引脚)为2MB。
总体来说,储存器的芯片型号如果包含“80”字样是1M的,如果包含“160”字样则是2M的。
1MB的储存器就要使用1M的工具来读取、写入,2M的储存器就要使用2M的工具,否则盲目读取和烧写,很有可能将你的山机变为砖头,原因是,正版的接收机内部都是采用2M的储存器,工厂里使用的工具也是2M的,咱们所使用的工具实际上是工厂外漏的工具,都是2M的工具,如果是用这样的工具读取你的1M储存器,会读出一个2M的文件,这个文件是将你的储存器连读2遍所得到的,如果修改这个文件,再将其烧写到你的1M的储存器内的话,很有可能会把你的机器给刷死!(如果使用2M工具写入1M存储器,只是写入正确数据包会造成程序混乱,基本上可以使用)二、连接电脑与接收机 1、电脑后面是9针com口,接收机有9针的也有9孔的,如果是9针则针多的那一排最【左】边的是1号针;如果是9孔,则孔多的那一排最【右】边的是1号孔。
连接,可以使用专用的9针串口线来连接,也可以自己找3根导线来连接,方法是:电脑的5针与接收机的5针(孔)相连,电脑的2针与接收机的3针(孔)相连,电脑的3针与接收机的2针(孔)相连。
2、接收机是3、4、5、6针的,需要外接电平转换小板,usb口的不需要额外供电,com口的如果是max232芯片,需要并且只能接usb的+5v供电,com口的如果是max3232芯片除了可以接usb供电外,还可以利用接收机的+3.3v供电,供电范围更宽一些!将转换小板插入电脑的com口或usb口,小板上的接线柱分别用杜邦线或导线连接至接收机,小板的gnd连接收机的gnd,小板的tx(p31)与接收机的rx相连,小板的rx(p30)与接收机的tx相连,如果是usb的小板只连这3根(usb口需要安装pl2303驱动),如...
怎么用usb转TTL线给单片机下载程序,线是怎么接的?接到单片机的...
方法如下:观察转接线的末端,有四条颜色不同的杜邦线。
它们分别是: 红色—>VCC 白色—>RX接收端 绿色—>TX发送端 黑色—>地1、单片机上的串口一般是两个端口,一个是TX发送端,一个是RX接收端。
连接时要注意交叉互连,即把USB转TTL线的RX端接单片机的TX端,把TX端接单片机的RX端,剩下两脚不用接。
如图: 2、写好串口的程序,这个网上的教程很多,而且不同的单片机程序不同,这里不再赘述。
以下是笔者写好的部分代码,设置波特率为9600,将程序烧录到单片机。
3、然后通过USB转TTL线连接好单片机和电脑,打开串口调试助手(这个网上有许多版本可以下载的)。
在串口调试助手中打开串口,设置波特率与软件中相同。
然后就可以看到从单片机发来的数据。
...
关于用USB转TTL小板给STC单片机烧写程序及串口调试的问题??
嘿嘿,你用的是USB的那种通用下载线吧?上面一共有4(5)根线,其中5根的是有两种供电电压。
你这个是5V的,你用5V的就好。
把USB上的5V电压连上单片机的VCC,然后把GND连上单片机的GND,最后TX连单片机的TXD,RXD连RXD(或者想你那样连,因为有的厂家标识指的是你要连接的管脚,因为它已经倒置了)最重要的一点,用这种下载器,你必须先断开VCC,然后点下载,之后再连上VCC。
就相当于开发板上的冷启动操作。
希望有用
...也买了USB转TTL的线,可是驱动下载成功后我用买开发板附带的烧...
主要是分析官方的Custom_HID 例程,强烈建议大家结合USB2.0协议去分析源代码。
特别不错,分析完之后就可以修改移植了。
另外,有个叫源享科技的出了一套80集的关于STM32的整套视频,对USB等高级外设讲的非常透彻,结合原子的开发板学习,效果也很好的。
那视频在源享科技官网上挺贵的,哈哈,最后我在淘宝上发现那些新开的店最便宜的才10块钱。
老板是个挺厉害的研究生,在学USB的时候帮了我不少。
。
废话不说了,关于修改官方例程的步骤::附件USB程序一、usb_desc.c文件根据你程序使用的通信方式修改。
usb_desc.h文件中定义要根据usb_desc.c文件中的数组的大小;ConfigDescriptor[SIZ_CONFIG_DESC]下添加需要处理的端点;根据需要添加或删除报告描述符(主要用于HID)和CDC接口描述符(主要用于实现USB转串口)等。
具体方法可以下载个“电脑圈圈”使用D12编写的例子。
二、Usb_conf.h文件:1、修改需要处理那些中断CNTR_CTRM处理数据正确传输后控制,比如说响应主机CNTR_DOVRM/* DMA OVeR/underrun Mask */CNTR_ERRM/* ERRor Mask */CNTR_WKUPM 0 /* WaKe UP Mask */CNTR_SUSPM/* SUSPend Mask */CNTR_RESETM主要处理USB复位后进行一些初始化任务CNTR_SOFM/* Start Of Frame Mask */CNTR_ESOFM/* Expected Start Of Frame Mask */如:usb_conf.h中的#define IMR_MSK (CNTR_CTRM | CNTR_SOFM | CNTR_RESETM )是决定USB_CNTR寄存器中的那个USB相关中断启动还是屏蔽。
2、根据需要增加端点缓存地址,要根据缓存区的地址修改,防止数据重叠如下为根据每个缓冲区的大小为64字节修改:#define ENDP1_TXADDR(0xC0)#define ENDP1_RXADDR(0xD0)#define ENDP2_TXADDR(0x100)#define ENDP2_RXADDR(0x140)#define ENDP3_TXADDR(0x180)#define ENDP3_RXADDR(0x1C0)3、修改/* CTR service routines */下的EPX_IN_Callback和EPX_OUT_Callback。
注释掉需要处理的函数。
NOP_Process表示不处理。
三usb_prop.c文件1、修改void XX_Reset(void)(如:void Joystick_Reset(void))一般/* Initialize Endpoint 0 */的不用修改,如下为举例说明端点1的初始化,其他端口原理一样。
SetEPType(ENDP1, EP_INTERRUPT);//设置端点1类型/*EP_BULK批量端点EP_CONTROL 控制端点EP_ISOCHRNOUS 同步端点EP_INTERRUPT 中断端点*/SetEPTxAddr(ENDP1, ENDP1_TXADDR); //设置端点1缓冲区基地址SetEPTxCount(ENDP1, 64);// 配置Tx 缓冲计数器SetEPRxStatus(ENDP1, EP_RX_DIS);// //设置端点接收关闭SetEPTxStatus(ENDP1, EP_TX_NAK);// //设置端点1发送不应答/*#define EP_RX_DIS(0x0000) // EndPoint RX DISabled 端点接收关闭#define EP_RX_STALL(0x1000) // EndPoint RX STALLed 端点接收延迟#define EP_RX_NAK(0x2000) // EndPoint RX NAKed 端点接收不应答#define EP_RX_VALID(0x3000) // EndPoint RX VALID端点接收有效 #define EP_TX_DIS(0x0000) //EndPoint TX DISabled #define EP_TX_STALL(0x0010) // EndPoint TX STALLed #define EP_TX_NAK(0x0020) // EndPoint TX NAKed #define EP_TX_VALID(0x0030) // EndPoint TX VALID */2、删除不相干的描述符等。
如自定义的USB设备就不需要以下结构体初始化:ONE_DESCRIPTOR Joystick_Report_DescriptorONE_DESCRIPTOR Mouse_Hid_Descriptor3、修改RESULT XX_Data_Setup(u8 RequestNo)的数据类请求处理。
如Custom_HID例程修改为“自定义USB设备”例程时可以将以下代码删除if ((RequestNo == GET_DESCRIPTOR)&& (Type_Recipient == (STANDARD_REQUEST | INTERFACE_RECIPIENT))&& (pInformation->USBwIndex0 == 0)){if (pInformation->USBwValue1 == REPORT_DESCRIPTOR){CopyRoutine = Joystick_GetReportDescriptor;}else if (pInformation->USBwValue1 == HID_DESCRIPTOR_TYPE){CopyRoutine = Joystick_GetHIDDescriptor;4、删除不相干的获得描述符返回函数如自定义的USB设备就不需要以下函数:Joystick_GetReportDescriptorJoystick_GetHIDDescriptor四、usb_endp.c文件1、增加之前定义的中断数据处理函数如:void EP1_OUT_Callback(void){这些写接收代码五、数据发送和接收,举例说明1、数据接收u8 DataLen;DataLen = GetEPRxCount(ENDP1);PMAToUserBufferCopy(TX1_buffer, ENDP1_RXADDR, DataLen);SetEPRxValid(ENDP1);USART1_Send(DataLen);count_out = 1;2、数据发送UserToPMABufferCopy(InBuffer, GetEPTxAddr(ENDP1), 64);SetEPTxCount(ENDP1, 64);SetEPTxValid(ENDP1);如果你发送数据较为频繁,每次发送前应使用GetEPTxStatus(ENDP1)检测上次发送是否完成。
如果端点状态处于EP_TX_VALID,说明发送未结束,如果端点状态处于EP_TX_NAK,说明发送结束。
凯恩斯2077z机顶盒如何升级
我不是卖天线的,也不是用**天线的,我从大山里出来,那里有很多亲戚用中九,感觉乡亲门赚点钱不容易。
都成废铁太可惜了。
这几天没事,手一痒痒,就升级了一台山寨锅KES-2077z。
凯恩斯KES-2077z从机器后面看,也就是5个插针对着自己从左开始:TXD,RXD,不用(VCC) ,GND, 不用(BL)。
找来一根RS232-TTL转换线,其实就是一颗MAX232芯片做成的芯片,连接好就可以了。
可自己做RS232-TTL转换线,建议有一定制作基础人自己做(焊错线可能烧坏串口),成本就几元钱。
有些电脑没有串口,有的是有串口但在主板只留有插针,需要在卖二手电脑地方买个串口引出线(几元钱)。
如果主板串口插针都没有那只能买USB转串口了。
2005年前的电脑大都有串口或主板有串口插针。
我自己电脑用的是NFORCE2主板,有时在启动ABS_Flasher_V1.6.exe后串口并不打开,就是串口并不工作,MAX232的15脚16脚间没有电压(正常4V到6V),不知是驱动问题还是中了木马,而用串口鼠标还好使。
我用845GL杂牌电脑时从未发现过问题。
每次联机之前:1、连好RS232-TTL转换线,电脑和凯恩斯KES-2077z都接好(注意别接错);2、不要打开凯恩斯KES-2077z电源,先启动ABS_Flasher_V1.6.exe,核对ABS_Flasher_V1.6.exe的端口,比如在COM1上连线就选COM1;3、打开凯恩斯KES-2077z电源,如果以上你都做对了ABS_Flasher_V1.6.exe会显示就绪!并且凯恩斯KES-2077z所有指示灯都不亮!4、显示就绪后一定要先读出原数据(全部、应用软件、升级软件三部分分别读出),一定要每读一次都重命名保存好,再读下一个部分,以防误操作后恢复用。
全部2048K、应用软件1920K、升级软件128K。
如果你没完整读出这三部分不要进行其它操作了。
操作注意:从网上下载ABS_Flasher_V1.6.exe中并不带有凯恩斯KES-2077z的升级程序,带有的只是联机用的BIN文件,不要将这些文件烧写到机顶盒中。
凯恩斯KES-2077z指示灯亮了表示没连上,ABS_Flasher_V1.6.exe也不会显示就绪。
要先启动ABS_Flasher_V1.6.exe,后打开凯恩斯KES-2077z电源。
一般情况一种软件并不能适应所有机顶盒,软件和机顶盒要匹配才能连接成功。
ABS_Flasher_V1.6.exe显示就绪了,但读不出原数据,可能是RS232-TTL转换线有问题。
ABS_Flasher_V1.6.exe显示波特率错误,也可能是RS232-TTL转换线有问题,也可能是机顶盒和软件不匹配。
RS232-TTL转换线需要材料:MAX232一个,78L05一个,47UF和100UF电解电容各一个, 1UF或105钽电容4个, 3.3V稳压管2个, DB9母接头一个, 1N4148两个,使用过程发现1N4148有时在频繁插拔转换线时损坏而不能联机 TXD RXD GND .这三根线要都连上,否则数据传输不可靠,避免意外问题。
我的升级过程:成功读出 全部2048K、应用软件1920K、升级软件128K。
用ultraedit32修改bin文件里的pid,把应用软件1920K里的PID改成最新的PID。
然后准备烧写应用软件,在烧写到62%时死机!!! 以后再开机,黑屏,通讯再也连不上了。
之后断电,短接VCC和Bootloader(BL)脚然后,再开机,几秒后关机,拿掉短接线,再开机还是不行。
再断电,依然短接,打开软件,再开机,拿掉短接线,点击软件复位按钮,通讯还连不上。
刷成砖头! 事后反省:低估了这东西,首先机理没弄懂,机顶盒并不不同于一般的带下载线的单片机,事先读出程序可能不完整,虽然大小与芯片容量也相符,用ultraedit32察看bin文件未见异常(文件前1M和后1M不重复)。
烧写时可能覆盖了一些引导信息,所以黑屏通讯再也连不上了。
所以应该弄懂机顶盒原理再下手就好了。
一般的带下载线的单片机不需要握手协议,只要连线正确,上位机软件与芯片匹配就可以烧写.而机顶盒要与上位机软件事先通讯成功才可以进行其他所有操作!我的问题是烧写失败使机顶盒内至最基本的通讯协议程序破坏了!所以黑屏,通讯再也连不上了!硬件肯定没损坏。
估计得拿编程器把芯片基本信息重新编上了。
苦于资料匮乏!2023这个芯片也就国外70年代水平,把使用资料藏的那么深,他们也就那点能耐。
现在市场上的山寨机错宗复杂,不仅主芯片(3种)有差别,程序大小也不同(有1M有2M)。
我们用的软件是正版机用的,不管你是1M还是2M程序就读出2M。
我们这些游击队想搞成一个也不容易,但也不是太难,有耐心执着些肯定行。
希望我的经历能给大家借鉴。
求STC89C52单片机的详细资料?包括引脚功能,存储器等等的详细介...
1、STC89C52单片机,支持USB口或者是串口两种下载程序方式 不用另买烧写器 编程器等产品 可以方便的烧写程序到单片机里.2、USB供电系统,直接插接到电脑USB口即可提供电源,不需另接直流电源。
3、8位LED发光二极管(做 跑马灯实验 交通灯实验 )。
4、8位数码管(可做数码管的静态和动态扫描显示实验 如 0-24秒(NBA进攻时间)计数器实验 18B20温度检测实验 4X4矩阵键盘扫描等都可以用数码管显示)。
5、计数器实验,如 0-24秒(NBA进攻时间到,蜂鸣器报警,数码管清零),还可以做00-60秒表,00-99跑马灯等。
6、4*4矩阵键盘(熟悉矩阵键盘编码、解码扫描原理 可作为人机输入接口 编写按键输入程序)7、蜂鸣器(做单片机发声实验 播放音乐实验 报警实验等声响实验)8、DS18B20温度传感器,(一线式总线元件实验)。
9、AT24C08外部EEPROM存储芯片(IIC总线元件实验)10、SPI串行实时时钟 DS1302(熟悉SPI总线 用DS1302可以做一个万年历电子时钟 比定时器做的精确)11、MAX232芯片RS232通讯接口(可以做为与计算机通迅的接口同时也可做为STC单片机下载程序的接口及仿真调试的接口)12、字符液晶1602LCD接口 采用接插件方式方便插拔(可显示两行 每行16个 共计32任意 ASCII码字符 它的功能应用比数码管丰富很多 显示的信息量更大。
13、图形点阵液晶12864接口 采用接插件方式方便插拔(可显示任意汉字和图形 是目前单片机 图文显示最常用的显示器件 我们实验板支持带字库的12864液晶 开发程序更方便 12864液晶不随板附赠 需单独购买 我们成本价65元提供带字库的支持对比度调节12864蓝屏高级液晶)14、为方便大家更换晶体振荡器(单片机“超频”)特别采用了镀金晶体插座,做实验时需要不同晶振频率时 可很方便的插拔更换(我们随板赠送三个不同频率的晶振 11.0592MHZ、12MHZ、24MHZ各一个 最大程度上满足了学习者的需要)15、ISP下载接口(保留了并口ISP下载线或者其他的兼容ISP下载线 ,如果有并口的电脑可以对AT89S51 AT89SS52 单片机直接编程。
)16、本实验板采用40PIN锁紧座安放单片机芯片,非常方便单片机芯片的取放。
17、本实验板 板上带有外接电源接口 方便使用外接电源为单片机供电。
18、实验板 带有 +5V 和地线扩展口 方便用户扩展其他外围电路时取电发货清单1、USB编程线(非串口线哦)、USB取电线各1条,您的电脑只需要有USB接口就可以了,十分适合没有并口和串口的电脑。
2、STC89C52RC单片机1片。
3、备用短路冒若干。
4、源程序光盘1张(含原理图、源程序、实验指导书教程、技术支持QQ)。
5、可替换晶振11.0592M 12M 24M各一个(12M在板上)6、单片机学习板1块(配齐所有芯片)7、优质杜邦条10条8、超强度包装纸盒
转载请注明出处51数据库 » 32用ttl烧写软件
黄妃妃