我正在尝试为PIC18制作一个引导程序,所以我需要了解如何正确处理hex文件.例如,我理解如何处理以下十六行.
:040C0000E2EFFFF030
Run Code Online (Sandbox Code Playgroud)
04:字节数
0C00 :十六进制数字的地址
00:数据记录
E2EFFFF0:数据序列
30:校验和
所以我会知道如何处理上面的行,但是下面的十六行怎么样.
:020000040001F9
Run Code Online (Sandbox Code Playgroud)
02 :字节数
0000: 地址
04:扩展线性地址记录
0001:数据
F9:校验和
但究竟我该怎么做呢?我是否将这些数据写入该地址?你能把它翻译成机器语言吗?
顺便说一下,我的应用程序从地址开始,0c00bootloader从地址开始,在0020它上面是中断向量.谢谢!
更新
如果hex文件的第三行是以下,地址会FFC0改变吗?
:10FFC000FF00FF00FF00FF00FF00FF000001E9EF5E
Run Code Online (Sandbox Code Playgroud)
我在想,因为hex文件的第二行有04(扩展线性地址记录),那么我应该添加0001到第三行的地址FFC0,所以新地址就是这样的.
$0001 + $FFC0将等于1FFC0,所以第3行的下一组数据字节应写入此地址1FFC0,这是正确的吗?
我有一个应用程序,它每隔一分钟检查一个特定网站,看看它是否找到我要查找的内容,然后在找到该项目时通知我(播放声音)。我按照这个方法让我的应用程序在后台运行,但我注意到它抱怨 WebView。
http://marakana.com/forums/android/examples/60.html
如果无法在服务中使用 WebView,我有哪些替代方案可以实现相同的目标?
Char *strings = "1,5,95,255"
Run Code Online (Sandbox Code Playgroud)
我想将每个数字存储到一个int变量中,然后将其打印出来.
例如,输出变为这样.
值1 = 1
value2 = 5
Value3 = 95
value4 = 255
我想在循环中执行此操作,因此如果我在字符串中有超过4个值,我应该能够获得其余的值.
我想看一个这个例子.我知道这对你们很多人来说非常基础,但我发现它有点挑战性.
谢谢
我的GSM调制解调器默认设置为115200波特率.我连接了PIC18微控制器,波特率为19200.我将调制解调器波特率更改为19200然后保存了设置,但每次重置调制解调器时,波特率都会变回115200.
这些是我使用的以下命令.
改变波特率
AT+IPR=19200
然后我重新打开了具有19200波特率的超级终端(Putty)以保存当前设置.
保存设置
AT&W
但是在重置调制解调器后,波特率会变回115200.我使用的是M6000 GSM/GPS模块(Tk115 Gps Tracker),但没有太多的支持,这里有数据表供参考.
我正确保存设置吗?
我正考虑在PIC18F87j11上将波特率更改为115200,但使用当前的8 mhz振荡器是不可能的.任何反馈都会有所帮助.
谢谢!
如何在表示方面将二进制编码的十进制数转换为十进制数?我不想转换它的值,而是它的表示,这就是我的意思.
我想转换0x11成十进制11(不17),并0x20以20(不32).
unsigned char day = 0x11;
unsigned char month = 0x12;
int dayDecimal, monthDecimal;
Run Code Online (Sandbox Code Playgroud)
我希望dayDecimal 11和monthDecimal = 12.我将使用0x00到0x60之间的范围,所以它应该是可能的.不会有'A','B','C','D','E','F.
更新:
我实际上是从RTCC芯片中读取时间,作为我正在进行的嵌入式项目的一部分.以该形式返回小时,分钟,日和月.例如,如果分钟是0x40则表示40分钟而不是64分钟,所以我需要能够正确地解释它.我需要以某种方式将0x40转换为40而不是64.我希望这是可能的.
谢谢!
我正在制作一个bootloader.在向该块中的那些寄存器写入任何内容之前,我必须擦除1024字节的内存.即使我想写2个字节,我也不得不擦除1024个字节.我的问题是我不知道每个块的起始位置.例如,假设我想将以下字节写入此地址.
地址: 0x198F0
字节:C80E00010001616FDFECD6F08C8C92EC
当我尝试从地址开始擦除1024个字节时,0x198F0我注意到它开始从中删除0x19800.
我怎么知道每个块从哪里开始,所以我可以在软件中计算它?
我想知道这个的原因是我可以在擦除它之前将整个块复制到ram中,然后修改它,然后将它写回到同一个块中.我正在使用PIC18f87J11和MPLAB XC8编译器.我希望清楚我想要做什么,否则请在评论中告诉我.
谢谢!
我需要为表内的div内的按钮添加一个click事件处理程序.我如何使用jQuery实现它.这是我的div:
<div id = 'fromServer'></div>
Run Code Online (Sandbox Code Playgroud)
以下是我填充它的方法:
function onSuccess(response) {
p = response; //p is global for debugging!
resultsArray = response.results;
str = '<table id=\'mytable\'>';
str += '<tr><td class =\'title\'>Album</td>';
str += '<td class =\'title\'>Track Name</td>';
str += '<td class =\'title\'> <button id =\'save\'>Save</button></td></tr>';
for (i = 0; i < resultsArray.length; i++) {
str += '<tr><td>' + '<img src=\'' + resultsArray[i].artworkUrl100 +'\' height=\'100\' width=\'100\'' + '</td>';
str += '<td class=\'albumName\'>' + resultsArray[i].trackName.substring(0,30) + '</td>';
str += '<td> <input type=\'checkbox\' class =\'checkbox\' …Run Code Online (Sandbox Code Playgroud) 之前我问了类似的问题,但答案并不完全是我想要的,所以这次我会提供更多细节.
我是第一次使用C语言编写微控制器.我有一个Android APP,允许用户选择颜色组合(RGB颜色),然后将颜色代码发送到微控制器.微控制器根据所选内容显示灯光.
我试图做的是能够一次读取四位数字.因此,如果发送的号码是2005001000200,我想做以下事情.
提取第一个数字并将其保存在一个名为mode的变量中.然后..提取下四个数字并将它们保存在一个名为red的变量中.然后......提取下四个数字并将它们保存在一个名为green的变量中.然后..提取最后四位数字并将它们保存在一个名为blue的变量中.所以输出应该是这样的......
模式= 2
红色= 0050
绿色= 0100
蓝色= 0200
如果我能看到一个例子来说明我想要做的事情那就太棒了.请记住,我是第一次编程微控制器.非常感谢!
我的PIC18F87J11一次只能擦除1024个字节.有没有强迫它一次只擦除2个字节或更多?
我正在制作一个Bootloader,有时候只有一行HEX文件(16字节)更改为应用程序,所以我想用新的16字节替换内存中的那一行.如果我尝试擦除这16个字节,则自动擦除1024个字节.然后我被迫重写它们,这需要一些时间并降低Bootloader的速度.
是否有另一种方法可以在不擦除1024个字节的情况下从闪存中擦除某些内容?希望有.
谢谢!
我使用 Java 制作了一个 svg 时钟,在 svg 文件中绘制了一个圆圈和三条动画线。这就是我的时钟的样子。
\n\n
现在我想将小时添加到时钟中,如下所示。
\n\n
如何根据圆的cx、cy、r和进行计算?stroke-width我希望用户提供这些值,然后我绘制其余的值,包括时针、分针和秒针。我不担心时钟指针,我可以弄清楚这一点,但我不知道如何动态地将小时放在时钟中。我不想手动放置它们。
这是我的 SVG 文件。
\n\n<svg xmlns = \'http://www.w3.org/2000/svg\' version = \'1.1\' width="500.0" height="500.0">\n\n\n\n<circle cx="100.0" cy="100.0" r="50.0" stroke="none" stroke-width="1.0" fill="rgba(102,205,170,0.4)"/>\n\n<line x1="100" y1="100" x2="100" y2="62" stroke="red" stroke-width="2.0" stroke-linecap="round">\n<animateTransform attributeName="transform" type="rotate" from="0 100 100" to="360 100 100" dur="500ms" repeatCount="indefinite"></animateTransform>\n </line>\n\n<line x1="100" y1="100" x2="100" y2="62" stroke="black" stroke-width="2.0" stroke-linecap="round">\n<animateTransform attributeName="transform" type="rotate" from="0 100 100" to="360 100 100" dur="3s" repeatCount="indefinite"></animateTransform>\n </line>\n\n\n<line x1="100" y1="100" x2="100" …Run Code Online (Sandbox Code Playgroud) c ×4
bootloader ×3
embedded ×3
pic ×3
microchip ×2
algorithm ×1
android ×1
at-command ×1
bcd ×1
command ×1
geometry ×1
graphics ×1
gsm ×1
javascript ×1
jquery ×1
serial-port ×1
svg ×1