em cũng nghĩ là A =const thì chương trình biên dịch sẽ tự tính.bác cho em hỏi luôn là khai báo void function(unsigned int *A) và void function(unsigned int A) khác nhau như thế nào .và khi nào thì dùng void function(unsigned int *A)
Thông báo
Collapse
No announcement yet.
Thảo luận về ARM LPC 2138/2148
Collapse
X
-
Nguyên văn bởi qkhanh Xem bài viếtem cũng nghĩ là A =const thì chương trình biên dịch sẽ tự tính.bác cho em hỏi luôn là khai báo void function(unsigned int *A) và void function(unsigned int A) khác nhau như thế nào .và khi nào thì dùng void function(unsigned int *A)
- Dùng kiểu tham số con trỏ như trên ví dụ function(p->field) trong đó p là một kiếu struct nào đó, còn field là trường của struct đó mà có kiểu unsigned int.
Thế nhá.
Or call me 0903911109
Comment
-
các bác cho em hỏi một câu nữa về timer . em đang học lập trình timer bước đầu tiên là tạo trễ dùng timer tuy nhiên đang vướng mắc ở chỗ, nếu không dùng ngắt thì khi giá trị TC bằng với các thanh ghi MR0-MR3 hoặc khi timer tràn thì làm thế nào biết được để thoát khỏi hàm trễ và reset timer em đọc tài liệu thì chó các bit trong thanh ghi TxIR ( x là tên timer) set lên 1 có đúng ko
Comment
-
Minh moi tap tanh thu nghiem ve ARM, da mua mot kit thi nghiem ARM tu My ma chua biet phai thuc hien the nao?
Cac ban cho minh hoi can nhung phan mem gi de viet Code + Chay thu+ Nap vao cho LPC 2148.Last edited by tranduythai; 01-04-2010, 14:46.
Comment
-
Nguyên văn bởi qkhanh Xem bài viếtcác bác cho em hỏi một câu nữa về timer . em đang học lập trình timer bước đầu tiên là tạo trễ dùng timer tuy nhiên đang vướng mắc ở chỗ, nếu không dùng ngắt thì khi giá trị TC bằng với các thanh ghi MR0-MR3 hoặc khi timer tràn thì làm thế nào biết được để thoát khỏi hàm trễ và reset timer em đọc tài liệu thì chó các bit trong thanh ghi TxIR ( x là tên timer) set lên 1 có đúng ko
Để tạo trễ bằng timer ko dùng ngắt
void delay(unsigned int t) {
while (T0TC |= t); // đợi đến khi TC = t
T0TC = 0; // reset TC
}Phạm Minh Tuấn
(+84) 982006467
Comment
-
Nguyên văn bởi qkhanh Xem bài viếtem cũng nghĩ là A =const thì chương trình biên dịch sẽ tự tính.bác cho em hỏi luôn là khai báo void function(unsigned int *A) và void function(unsigned int A) khác nhau như thế nào .và khi nào thì dùng void function(unsigned int *A)
void function (unsigned int A) :
Hàm không có giá trị trả về, tham số truyền vào là biến kiểu interger không dấu, tham số này thuộc kiểu tham trị, tức là mọi sự biến đổi của A trong thân hàm có thể thực hiện, tuy nhiên khi thoát ra khỏi hàm thì giá trị biến truyền vào không thay đổi.
void function (unsigned int *A):
Hàm không có giá trị trả về, tham số truyền vào là con trỏ kiểu int không dấu, tham số truyền vào thuộc kiểu tham biến, mọi sự biến đổi của biến này trong thân hàm làm ảnh hưởng đến giá trị của biến truyền vào.
Như vậy ta đã hiểu được cách sử dụng của hai dạng trên, đơn cử cho ví dụ trong hai trường hợp trên.
Code:#include <stdio.h> void function (unsigned int A) { A = A +1; } int main (int argc, char [] *argv) { unsigned int B = 0; function (B); /* Goi ham tai day */ printf ("B=%d\r\n", B); return 0; }
Trường hợp thứ 2:
Code:#include <stdio.h> void function (unsigned int *A) { *A = *A +1; } int main (int argc, char [] *argv) { unsigned int B = 0; function (&B); /* Goi ham tai day */ printf ("B=%d\r\n", B); return 0; }
Xong rồi đấy
Comment
-
cảm ơn các bác rất nhiều em đã hiểu rồi . nhưng theo em thì vấn đề tạo trễ timer như bác mgdaubo nói thì cần chú ý là để thanh ghi PR(chia tẫn số timer) phải lớn hơn thời gian thực hiện lệnh nếu không thì có thể sẽ sai. lệnh rất đơn giản như vậy mà em không nghĩ ra
còn vấn đề này nữa không biết các bác có đồng ý với các câu trả lời trước đó không.đây là vấn đề em rất quan tâm vì đôi khi không hiểu rõ nó sẽ làm ảnh hưởng đến tốc độ thực hiện lệnh của VDK hoặc là làm giảm đi tính linh hoạt trong vấn đề tạo các hàm trong chương trình
Nguyên văn bởi qkhanh Xem bài viếtcác bác cho em hỏi trong dòng lệnh ví dụ như sau :
void OUTPORT0(unsigned int A)
{
unsigned long temp;
temp |= 1<<(A+1) ;
................
}
thì việc tính 1<<(A+1) được thực hiện trong chương trình biên dịch hay trong VDK
tức là nó có làm mất thời gian của VDK ko
Comment
-
Nguyên văn bởi qkhanh Xem bài viếtcảm ơn các bác rất nhiều em đã hiểu rồi . nhưng theo em thì vấn đề tạo trễ timer như bác mgdaubo nói thì cần chú ý là để thanh ghi PR(chia tẫn số timer) phải lớn hơn thời gian thực hiện lệnh nếu không thì có thể sẽ sai. lệnh rất đơn giản như vậy mà em không nghĩ ra
còn vấn đề này nữa không biết các bác có đồng ý với các câu trả lời trước đó không.đây là vấn đề em rất quan tâm vì đôi khi không hiểu rõ nó sẽ làm ảnh hưởng đến tốc độ thực hiện lệnh của VDK hoặc là làm giảm đi tính linh hoạt trong vấn đề tạo các hàm trong chương trình
Trong trường hợp này tham số gán vào là biến, vì thế VĐK sẽ mất thời gian để thực hiện câu lệnh này.
Comment
-
Nguyên văn bởi qkhanh Xem bài viếtvậy có cách nào viết hàm gửi một giá trị bất kỳ ra một cổng được không?
Comment
-
Nguyên văn bởi qkhanh Xem bài viếtviết bình thường thì em viết nhiều rồi.bác nói câu đâu lòng quá.vấn đề là viết tổng quát mà không ảnh hưởng nhiều đến tốc độ tính toán của VDK.VỚI AVR hay PIC thì không khó khăn lắm nhưng với ARM thì em thấy hơi khó
Riêng cho ARM của NXP thì, đây là 1 cách xuất giá trị ra 1 port (32 bit).
Code:GPIO_IOCLR = 0xFFFFFFFF; GPIO_IOSET = value;
Code:#define OUT_PORT(value) \ GPIO_IOCLR = 0xFFFFFFFF; \ GPIO_IOSET = (value)
Comment
Bài viết mới nhất
Collapse
-
bởi hoangkimotoBạn đã bao giờ căng thẳng về những điểm mù khi lái xe chưa? Những khoảnh khắc nguy hiểm do không thể quan sát hết xung quanh xe đã khiến không ít tài xế gặp sự cố. Camera 360 ô tô tốt nhất chính là giải pháp tối ưu, trợ giúp bạn loại bỏ góc khuất, nâng cao sự an toàn tuyệt...
-
Channel: Quảng cáo
hôm nay, 11:29 -
-
bởi heidi123Phòng Họp Thông Minh: Cuộc cách mạng khoa học Cho Mọi doanh nghiệp
Trong kỷ nguyên số hóa, phòng họp thông minh không còn là điều viển vông. Hãy nghĩ đến 1 không gian họp nơi mọi thứ – trong khoảng âm thanh, ánh sáng đến kỹ thuật – hoạt động...-
Channel: Công nghệ internet và mạng có dây
hôm nay, 00:42 -
-
bởi thanghiCùng với sự bùng nổ của công nghệ và xu hướng chuyển đổi số, ngành điện tử đang trở thành một trong những lĩnh vực thu hút nhiều doanh nhân và nhà đầu tư. Việc thành lập công ty trong ngành này không chỉ giúi hạn ở việc sản xuất phần cứng mà còn mở rộng sang các dịch vụ...
-
Channel: Xu hướng, nhu cầu và thị trường
Hôm qua, 21:02 -
-
Trả lời cho Hỏi cách điều chế xungbởi thetungBạn cho qua cái Tờ ri gơ Sờ mít ấy ......
-
Channel: Kỹ thuật điện tử tương tự
16-12-2024, 11:26 -
-
Trả lời cho Hỏi cách điều chế xungbởi nguyendinhvanCó gì mà khó ?
Răn cưa vuông đây
...-
Channel: Kỹ thuật điện tử tương tự
15-12-2024, 23:36 -
-
Trả lời cho hỏi về tụ điệnbởi ndp62Chữ " VENT" không phải là tên hãng sx tụ đâu ,vó thế là 1 ký hiệu liên quan tụ lowesr ?
-
Channel: Điện thanh
15-12-2024, 18:24 -
-
Trả lời cho Thắc mắc về nguồn tổ ong 12vbởi bqvietTrừ trường hợp công suất (rất) thấp, hầu như tất cả các loại nguồn xung thông thường đều có tụ nhỏ 1 - 10nF nối giữa sơ cấp và thứ cấp, để thoát nhiễu và để chống hiện tượng tương tự tĩnh điện. Vụ này đã thảo luận vài...
-
Channel: Điện tử dành cho người mới bắt đầu
14-12-2024, 22:02 -
-
Trả lời cho Thắc mắc về nguồn tổ ong 12vbởi namlangnhoE thử 3 cái nguồn nó đều giống nhau. Nên e làm tiếp địa luôn.
-
Channel: Điện tử dành cho người mới bắt đầu
14-12-2024, 19:58 -
-
Trả lời cho Thắc mắc về nguồn tổ ong 12vbởi mèomướpDạ chú sắm con át chống giật và thay nguồn tổ ong khác cho an toàn ạ. Đa phần nguồn xung đều xả nhiễu của bên thứ cấp về điện lưới qua 1 con tụ nên cảm giác tê sẽ khó xác định rõ ràng là do rò điện hay là nó vốn vậy...
-
Channel: Điện tử dành cho người mới bắt đầu
14-12-2024, 18:51 -
-
bởi namlangnhoXin chào mọi người. E có sử dụng 1 cục nguồn tổ ong 12v-30A chạy đèn led xe trà sữa. Mà thợ thi công bị rò điện nên điện rò ra khung xe. E dùng đồng hồ đo điện ở khung xe và cả output thì thấy có dòng điện xoay chiều hơn 100v. Nên chạm...
-
Channel: Điện tử dành cho người mới bắt đầu
14-12-2024, 00:12 -
Comment